当前位置:首页 > 计算机理论 >
《从零开始学Storm》电子书封面

从零开始学Storm

  • 发布时间:2020年09月21日 08:51:54
  • 作者:赵必厦、程丽明
  • 大小:81.2 MB
  • 类别:Storm电子书
  • 格式:PDF
  • 版本:高清版
  • 评分:9.2

    从零开始学Storm PDF 高清版

      给大家带来的一篇关于Storm相关的电子书资源,介绍了关于从零开始、Storm方面的内容,本书是由清华大学出版社出版,格式为PDF,资源大小81.2 MB,赵必厦、程丽明编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.4。

      内容介绍

      从零开始学Storm由基础知识、安装与部署、研发与维护、进阶知识、企业应用5个模块构成,并细分为20个章节,其中“基础知识”6章、“安装与部署”4章、“研发与维护”4章、“进阶知识”5章、“企业应用”1章,分别介绍了Storm的安装与配置、Storm的基本原理、Topology组件、Spout组件、Bolt组件、ZooKeeper集群、实战环节等内容,包括理论基础、环境搭建、研发准备、应用案例等。

      从零开始学Storm理论联系实际,通过大量实例分析,让读者在较短的时间内掌握Storm的使用,搭建并研发出自己的基于Storm的大数据处理平台。

      目录

      • 第1章 Storm简介
      • 1.1 什么是Storm
      • 1.2 Storm的诞生
      • 1.2.1 从Twitter说起
      • 1.2.2 Twitter需要处理大批实时性要求高的大数据业务
      • 1.2.3 Storm帮助Twitter解决实时海量大数据处理问题
      • 1.3 Storm的成长
      • 1.3.1 Storm正式开源
      • 1.3.2 Storm的核心技术和基本组成
      • 1.3.3 Storm的项目小组
      • 1.3.4 Storm的技术支持网站
      • 1.4 Storm的优势
      • 1.4.1 集成多种技术
      • 1.4.2 简单的API
      • 1.4.3 可扩展的
      • 1.4.4 容错的
      • 1.4.5 保证数据处理
      • 1.4.6 可以使用任何语言
      • 1.4.7 部署和操作简单
      • 1.4.8 自由开源
      • 1.5 Storm的应用现状和发展趋势
      • 1.5.1 应用现状
      • 1.5.2 发展趋势
      • 1.6 如何学习Storm
      • 1.7 本书的章节安排及学习建议
      • 1.7.1 本书的章节安排
      • 1.7.2 关于如何阅读本书的建议
      • 1.8 本章小结
      • 第2章 Storm的基本知识
      • 2.1 概念
      • 2.1.1 元组(Tuple)
      • 2.1.2 流(Stream)
      • 2.1.3 喷口(Spout)
      • 2.1.4 螺栓(Bolt)
      • 2.1.5 拓扑(Topology)
      • 2.1.6 主控节点与工作节点
      • 2.1.7 Nimbus进程与Supervisor进程
      • 2.1.8 流分组(Stream grouping)
      • 2.1.9 工作进程(Worker)
      • 2.1.10 任务(Task)
      • 2.1.11 执行器(Executor)
      • 2.1.12 可靠性(Reliability)
      • 2.2 Storm的配置
      • 2.2.1 Storm的配置类型
      • 2.2.2 defaults.yaml文件
      • 2.2.3 storm.yaml文件
      • 2.2.4 Config类
      • 2.3 序列化(Serialization)
      • 2.3.1 动态类型
      • 2.3.2 自定义序列化
      • 2.3.3 Java序列化
      • 2.3.4 特定组件序列化注册
      • 2.4 容错机制
      • 2.4.1 Worker进程死亡
      • 2.4.2 节点死亡
      • 2.4.3 Nimbus或者Supervisor守护进程死亡
      • 2.4.4 Nimbus是否是“单点故障”的
      • 2.5 可靠性机制——保证消息处理
      • 2.5.1 消息被“完全处理”的含义
      • 2.5.2 如果一个消息被完全处理或完全处理失败会发生什么
      • 2.5.3 Storm如何保证可靠性
      • 2.5.4 Storm如何实现可靠性
      • 2.5.5 调节可靠性
      • 2.6 消息传输机制
      • 2.6.1 ZeroMQ
      • 2.6.2 Netty
      • 2.6.3 自定义消息通信机制
      • 2.7 Storm的开发环境与生产环境
      • 2.7.1 开发环境与本地模式
      • 2.7.2 生产环境与远程模式
      • 2.7.3 开发环境与生产环境的对比
      • 2.8 Storm拓扑的并行度(parallelism)
      • 2.8.1 工作进程、执行器和任务
      • 2.8.2 配置拓扑的并行度
      • 2.8.3 拓扑示例
      • 2.8.4 如何改变运行中拓扑的并行度
      • 2.9 Storm命令行客户端
      • 2.10 Javadoc文档
      • 2.11 本章小结
      • 第3章 拓扑详解
      • 3.1 什么是拓扑
      • 3.2 TopologyBuilder
      • 3.3 流分组
      • 3.3.1 什么是流分组
      • 3.3.2 不同的流分组方式
      • 3.4 一个简单的拓扑
      • 3.5 在本地模式下运行拓扑
      • 3.6 在生产集群上运行拓扑
      • 3.6.1 常见的配置
      • 3.6.2 杀死拓扑
      • 3.6.3 更新运行中的拓扑
      • 3.6.4 监控拓扑
      • 3.7 拓扑的常见模式
      • 3.7.1 流连接(Stream Join)
      • 3.7.2 批处理(Batching)
      • 3.7.3 BasicBolt
      • 3.7.4 内存中缓存与字段的组合
      • 3.7.5 流的top N
      • 3.7.6 高效保存最近更新缓存对象的TimeCacheMap(已弃用)
      • 3.7.7 分布式RPC的CoordinatedBolt与KeyedFairBolt
      • 3.8 本地模式与StormSubmitter的对比
      • 3.9 多语言协议(Multi-Language Protocol)
      • 3.10 使用非JVM语言操作Storm
      • 3.10.1 支持的非Java语言
      • 3.10.2 对Storm使用非Java语言
      • 3.10.3 实现非Java DSL的笔记
      • 3.11 Hook
      • 3.12 本章小结
      • 第4章 组件详解
      • 4.1 基本接口
      • 4.1.1 IComponent接口
      • 4.1.2 ISpout接口
      • 4.1.3 IBolt接口
      • 4.1.4 IRichSpout与IRichBolt接口
      • 4.1.5 IBasicBolt接口
      • 4.1.6 IStateSpout与IRichStateSpout接口
      • 4.2 基本抽象类
      • 4.2.1 BaseComponent抽象类
      • 4.2.2 BaseRichSpout抽象类
      • 4.2.3 BaseRichBolt抽象类
      • 4.2.4 BaseBasicBolt抽象类
      • 4.3 事务接口
      • 4.3.1 IPartitionedTransactionalSpout
      • 4.3.2 IOpaquePartitionedTransactionalSpout
      • 4.3.3 ITransactionalSpout
      • 4.3.4 ICommitterTransactionalSpout
      • 4.3.5 IBatchBolt
      • 4.4 组件之间的相互关系
      • 4.5 本章小结
      • 第5章 Spout详解
      • 5.1 可靠的与不可靠的消息
      • 5.2 Spout获取数据的方式
      • 5.2.1 直接连接(Direct Connection)
      • 5.2.2 消息队列(Enqueued Messages)
      • 5.2.3 DRPC(分布式RPC)
      • 5.3 常用的Spout
      • 5.3.1 Kestrel作为Spout的数据源
      • 5.3.2 AMQP作为Spout的数据源
      • 5.3.3 JMS作为Spout的数据源
      • 5.3.4 Redis作为Spout的数据源
      • 5.3.5 beanstalkd作为Spout的数据源
      • 5.4 学习编写Spout类
      • 5.5 本章小结
      • 第6章 Bolt详解
      • 6.1 Bolt概述
      • 6.2 可靠的与不可靠的Bolt
      • 6.2.1 使用Anchoring机制实现可靠的Bolt
      • 6.2.2 使用IBasicBolt接口实现自动确认
      • 6.3 复合流与复合Anchoring
      • 6.3.1 复合流
      • 6.3.2 复合Anchoring
      • 6.4 使用其他语言定义Bolt
      • 6.5 学习编写Bolt类
      • 6.5.1 可靠的Bolt
      • 6.5.2 不可靠的Bolt
      • 6.6 本章小结
      • 第7章 ZooKeeper详解
      • 7.1 ZooKeeper简介
      • 7.2 ZooKeeper的下载和部署
      • 7.2.1 ZooKeeper的下载
      • 7.2.2 ZooKeeper的部署
      • 7.3 ZooKeeper的配置
      • 7.4 ZooKeeper的运行
      • 7.5 ZooKeeper的本地模式实例
      • 7.6 ZooKeeper的数据模型
      • 7.6.1 ZNode
      • 7.6.2 ZooKeeper中的时间
      • 7.6.3 ZooKeeper的Stat结构
      • 7.7 ZooKeeper的命令行操作范例
      • 7.8 Storm在ZooKeeper中的目录结构
      • 7.9 本章小结
      • 第8章 基础软件的安装与使用
      • 8.1 Linux的基本操作
      • 8.1.1 环境变量
      • 8.1.2 常用命令
      • 8.2 JDK的下载与配置
      • 8.2.1 Sun JDK的下载
      • 8.2.2 在Linux下安装JDK
      • 8.2.3 在Windows下安装JDK
      • 8.3 GitHub托管项目的下载
      • 8.4 Maven的下载与配置
      • 8.4.1 Maven的下载
      • 8.4.2 在Linux下部署Maven
      • 8.4.3 在Windows下部署Maven
      • 8.5 其他软件——Notepad++
      • 8.6 本章小结
      • 第9章 Storm的安装与配置
      • 9.1 Storm集群的安装步骤与准备工作
      • 9.1.1 搭建ZooKeeper集群
      • 9.1.2 安装Storm的本地依赖
      • 9.1.3 下载并解压Storm发行版本
      • 9.1.4 配置storm.yaml文件
      • 9.1.5 启动Storm的守护进程
      • 9.2 本地模式的Storm完整的配置命令
      • 9.3 本章小结
      • 第10章 Storm集群搭建实践
      • 10.1 准备工作
      • 10.1.1 概述
      • 10.1.2 配置hosts文件
      • 10.1.3 配置静态IP
      • 10.1.4 集群SSH无密码
      • 10.1.5 修改主机名
      • 10.1.6 关闭防火墙
      • 10.1.7 同步时间
      • 10.1.8 安装JDK
      • 10.2 ZooKeeper集群的搭建
      • 10.2.1 部署第一个节点
      • 10.2.2 部署第i个节点
      • 10.2.3 启动ZooKeeper集群
      • 10.2.4 查看ZooKeeper状态
      • 10.2.5 关闭ZooKeeper集群
      • 10.2.6 清理ZooKeeper集群
      • 10.3 Storm集群的搭建
      • 10.3.1 安装Storm依赖(每个Storm节点)
      • 10.3.2 部署第一个节点
      • 10.3.3 部署第i个节点
      • 10.3.4 启动Storm守护进程
      • 10.4 本章小结
      • 第11章 准备Storm的开发环境
      • 11.1 Storm的开发环境
      • 11.1.1 什么是Storm的开发环境
      • 11.1.2 如何管理Storm
      • 11.1.3 如何提交拓扑到集群
      • 11.2 Eclipse的下载与配置
      • 11.2.1 Eclipse的下载
      • 11.2.2 Eclipse的配置与运行
      • 11.2.3 Eclipse插件的安装
      • 11.3 使用Maven管理项目
      • 11.3.1 Maven的下载与配置
      • 11.3.2 配置pom.xml文件
      • 11.3.3 运行Maven命令
      • 11.4 使用Nexus搭建本地Maven私服
      • 11.4.1 下载Nexus
      • 11.4.2 运行Nexus
      • 11.4.3 登录Nexus后台
      • 11.4.4 配置Repositories
      • 11.4.5 配置setting.xml文件
      • 11.4.6 修改Eclipse的Maven插件的配置
      • 11.5 使用SVN管理代码版本
      • 11.5.1 在Windows下搭建SVN服务器
      • 11.5.2 在Linux下搭建SVN服务器
      • 11.5.3 安装SVN客户端
      • 11.6 部署单节点的Storm集群
      • 11.6.1 部署伪分布的ZooKeeper
      • 11.6.2 部署伪分布的Storm集群
      • 11.7 本章小结
      • 第12章 开发自己的Storm应用
      • 12.1 新建Maven项目
      • 12.2 修改为适合Storm开发的项目
      • 12.2.1 对包名进行分类管理
      • 12.2.2 修改pom.xml文件
      • 12.3 编写代码
      • 12.3.1 编写Spout类
      • 12.3.2 编写Bolt类
      • 12.3.3 编写Topology类
      • 12.4 本地测试运行
      • 12.5 提交到Storm集群运行
      • 12.5.1 使用Maven打包
      • 12.5.2 提交jar包到集群
      • 12.6 本章小结
      • 第13章 storm-starter详解
      • 13.1 storm-starter项目概述
      • 13.2 storm-starter的下载
      • 13.3 使用Maven进行管理
      • 13.3.1 使用Maven打包storm-starter
      • 13.3.2 使用Maven直接运行WordCountTopology
      • 13.3.3 使用Maven运行单元测试
      • 13.4 在Eclipse中运行
      • 13.4.1 新建Maven项目的方式
      • 13.4.2 导入已存在的项目的方式
      • 13.5 storm-starter的入门例子
      • 13.5.1 ExclamationTopology
      • 13.5.2 WordCountTopology
      • 13.5.3 ReachTopology
      • 13.6 storm-starter的其他例子
      • 13.6.1 BasicDRPCTopology
      • 13.6.2 ManualDRPC
      • 13.6.3 PrintSampleStream
      • 13.6.4 RollingTopWords
      • 13.6.5 SingleJoinExample
      • 13.6.6 TransactionalGlobalCount
      • 13.6.7 TransactionalWords
      • 13.7 本章小结
      • 第14章 研发与集群管理技巧
      • 14.1 使用daemontools监控Storm进程
      • 14.1.1 daemontools简介
      • 14.1.2 安装daemontools
      • 14.1.3 编写监控脚本
      • 14.2 使用Monit监控Storm
      • 14.2.1 Monit简介
      • 14.2.2 安装Monit
      • 14.2.3 配置Monit
      • 14.2.4 启动Monit
      • 14.2.5 获取Monit帮助信息
      • 14.3 常用的集群操作命令
      • 14.4 使用Storm的经验与建议
      • 14.5 本章小结
      • 第15章 DRPC详解
      • 15.1 概述
      • 15.2 DRPCTopologyBuilder
      • 15.2.1 LinearDRPCTopologyBuilder
      • 15.2.2 LinearDRPCTopologyBuilder提供的方法
      • 15.2.3 LinearDRPCTopologyBuilder使用范例
      • 15.2.4 LinearDRPCTopologyBuilder的工作原理
      • 15.2.5 LinearDRPCTopologyBuilder目前已弃用
      • 15.3 本地模式的DRPC
      • 15.4 远程模式的DRPC
      • 15.5 一个复杂的DRPC例子(计算reach值)
      • 15.6 非线性DRPC
      • 15.7 本章小结
      • 第16章 事务拓扑详解
      • 16.1 什么是事务拓扑
      • 16.1.1 设计1
      • 16.1.2 设计2
      • 16.1.3 设计3(Storm的设计)
      • 16.2 事务拓扑的设计细节
      • 16.3 事务拓扑的实现细节
      • 16.3.1 事务Spout的工作原理 262
      • 16.3.2 “对于给定的事务id不能发射相同的Batch”的处理
      • 16.3.3 更多的细节
      • 16.4 事务拓扑API
      • 16.4.1 Bolt
      • 16.4.2 事务Spout
      • 16.4.3 配置
      • 16.5 TransactionalTopologyBuilder
      • 16.5.1 TransactionalTopologyBuilder提供的方法
      • 16.5.2 TransactionalTopologyBuilder类已弃用
      • 16.6 一个简单的例子
      • 16.7 本章小结
      • 第17章 Trident详解
      • 17.1 Trident概述
      • 17.1.1 简单的例子——单词统计(TridentWordCount)
      • 17.1.2 另一个例子——计算Reach值(TridentReach)
      • 17.1.3 字段和元组
      • 17.1.4 状态(State)
      • 17.1.5 Trident拓扑的执行
      • 17.2 Trident API
      • 17.2.1 概述
      • 17.2.2 本地分区操作
      • 17.2.3 重新分区操作
      • 17.2.4 聚合操作
      • 17.2.5 流分组操作
      • 17.2.6 合并与连接
      • 17.3 Trident的状态
      • 17.3.1 Trident状态分类
      • 17.3.2 事务Spout(Transactional Spout)
      • 17.3.3 不透明事务Spout(Opaque Transactional Spout)
      • 17.3.4 非事务Spout(Non-transactional Spout)
      • 17.3.5 Spout与State之间的联系
      • 17.3.6 State API
      • 17.3.7 persistentAggregate方法
      • 17.3.8 实现 MapStates
      • 17.4 Trident Spout
      • 17.4.1 流水线(Pipelining)
      • 17.4.2 Trident Spout的类型
      • 17.5 本章小结
      • 第18章 Storm的内部实现
      • 18.1 文件系统分析
      • 18.2 数据目录结构
      • 18.2.1 Nimbus节点的目录结构
      • 18.2.2 Supervisor节点的目录结构
      • 18.3 代码库的结构
      • 18.3.1 storm.thrift
      • 18.3.2 Java接口
      • 18.3.3 实现
      • 18.4 拓扑的生命周期
      • 18.4.1 启动拓扑
      • 18.4.2 监控拓扑
      • 18.4.3 杀死拓扑
      • 18.5 Acking框架的实现
      • 18.5.1 异或计算的基本原理
      • 18.5.2 Acking框架的实现原理
      • 18.5.3 Acker的execute方法
      • 18.5.4 待定元组(pending tuple)和RotatingMap
      • 18.6 Metric
      • 18.7 本章小结
      • 第19章 Storm相关的其他项目
      • 19.1 JStorm项目
      • 19.1.1 项目简介
      • 19.1.2 下载与部署
      • 19.1.3 源代码编译
      • 19.2 storm-deploy项目
      • 19.3 Storm与Kafka
      • 19.3.1 Kafka简介
      • 19.3.2 Kafka的安装
      • 19.3.3 启动服务
      • 19.3.4 测试运行
      • 19.3.5 Storm与Kafka的项目
      • 19.4 storm-kestrel项目 334
      • 19.4.1 storm-kestrel项目简介
      • 19.4.2 使用storm-kestrel项目
      • 19.4.3 Kestrel服务器和队列
      • 19.4.4 添加元素到kestrel
      • 19.4.5 从Kestrel中移除元素
      • 19.4.6 持续添加元素到Kestrel
      • 19.4.7 使用KestrelSpout
      • 19.4.8 执行
      • 19.5 本章小结
      • 第20章 企业应用案例
      • 20.1 Storm席卷众多互联网企业
      • 20.1.1 Storm的典型应用场景
      • 20.1.2 Storm的三大基本应用
      • 20.2 Storm在Twitter中的应用
      • 20.2.1 Twitter公司简介
      • 20.2.2 Storm帮助Twitter提升产品性能
      • 20.2.3 MapR在Twitter中的应用简介
      • 20.3 Storm在阿里巴巴集团的应用
      • 20.3.1 阿里巴巴集团简介
      • 20.3.2 Storm在阿里巴巴的应用
      • 20.3.3 Storm在淘宝公司的应用
      • 20.3.4 Storm在支付宝公司的应用
      • 20.4 其他应用Storm的知名企业和项目
      • 20.5 本章小结
      • 参考资料

      学习笔记

      kafka与storm集群环境的安装步骤详解

      前言 在开始之前,需要说明下,storm和kafka集群安装是没有必然联系的,我将这两个写在一起,是因为他们都是由zookeeper进行管理的,也都依赖于JDK的环境,为了不重复再写一遍配置,所以我将这两个写在一起。若只需一个,只需挑选自己选择的阅读即可。下面话不多说了,来一起看看详细的介绍吧。 这两者的依赖如下: Storm集群:JDK1.8 , Zookeeper3.4,Storm1.1.1; Kafa集群 : JDK1.8 ,Zookeeper3.4 ,Kafka2.12; 说明: Storm1.0 和Kafka2.0对JDK要求是1.7以上,Zookeeper3.0以上。 下载地址: Zookeeper:https://zookeeper.apache.org/releases.html (本地下载) Storm: http://storm.apache.org/downloads.html (本地下载) Kafka: http://kafka.apache.org/downloads (……

      图文详解phpstorm配置Xdebug进行调试PHP教程

      phpstorm配置Xdebug进行调试PHP教程分享给大家,具体内容如下 运行环境: PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll ps : php版本和xdebug版本一定要相对应 1. PHP安装xdebug扩展 php.ini的配置,下面的配置仅供参考,路径要换成自己的! [xdebug] zend_extension=”D:\wamp\php-5.6.2-x64\ext\php_xdebug-2.2.5-5.6-vc11-x86_64.dll” xdebug.remote_enable = On xdebug.remote_handler = dbgp xdebug.remote_host= localhost xdebug.remote_port = 9000 xdebug.idekey = PHPSTORM ps : remote_handler 、 remote_host、 remote_port 这些都有默认值,但还是建议设置下,至少知道要设置这些参数~ 查看phpinfo~ 2.PHPSTORM设置 楼主以前一直用zendstudio,刚开始用phpstorm非常蛋疼,……

      以上就是本次介绍的Storm电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:大规模C++程序设计

      下一篇:Storm实战:构建大数据实时计算

      展开 +

      收起 -

      下载地址:百度网盘下载
      Storm相关电子书
      Oracle 12c从零开始学
      Oracle 12c从零开始学 完整视频版

      主要讲解了Oracle的安装与配置、数据库的创建、数据表的创建、数据类型和运算符、Oracle函数、查询数据、日志以及性能优化等,注重实战操作,帮助读者循序渐进地掌握Oracle中的各项技术

      立即下载
      数据产品经理修炼手册:从零基础到大数据产品实践
      数据产品经理修炼手册:从零基础到大数据产品实践 超清版

      《数据产品经理修炼手册从零基础到大数据产品实践》共8章,全方位和详细地详细介绍了统计数据产品运营的日常事务、必须的基本知识和常见的统计分析方法,也详细介绍了数据仓库的基础

      立即下载
      从零开始学架构:照着做,你也能成为架构师
      从零开始学架构:照着做,你也能成为架构师 全书影印版

      架构模式是专业技术人员成才和升职全过程中务必把握的专业技能,但现阶段业内欠缺系统架构师学习培训和塑造层面系统化的专业知识和实践活动的具体指导,《从零开始学架构:照着做你

      立即下载
      Python编程从零基础到项目实战:微课视频
      Python编程从零基础到项目实战:微课视频 PPT源码版

      1.配套设施视頻解读,扫二维码播放视频,傻瓜式教您学习培训 为便捷用户学习培训,这书视频录制了150集视頻解读(在其中23集为赠予视頻),并在视頻部位设定了二维码图片,根据手机上二

      立即下载
      从零开始学微信小程序开发
      从零开始学微信小程序开发 高清版

      《从零开始学微信小程序开发》 共分3篇12章,第1篇介绍微信小程序的基础知识,包括微信小程序开发工具、微信小程序架构分析;第2篇介绍微信小程序的常用模块,通过一些小案例详细介绍

      立即下载
      从零开始做运营
      从零开始做运营 清晰原版 立即下载
      从零开始学内容电商运营推广
      从零开始学内容电商运营推广 超清原版

      书中用两条线,从零开始帮助读者成功开启自己的内容电商运营和推广之路。 一条是内容线,本书提炼了14个专题内容,分别从互联网时代的内容电商、内容电商变现、打造内容、优化内容、

      立即下载
      读者留言
      陆博文III

      陆博文III 提供上传

      资源
      21
      粉丝
      28
      喜欢
      92
      评论
      11

      Copyright 2018-2020 www.xz577.com 码农之家

      版权投诉 / 书籍推广 / 赞助:520161757@qq.com