新書推薦:
《
心智的构建:大脑如何创造我们的精神世界
》
售價:HK$
81.4
《
美国小史(揭秘“美国何以成为美国”,理解美国的经典入门读物)
》
售價:HK$
81.4
《
中国古代北方民族史丛书——东胡史
》
售價:HK$
87.8
《
巨人传(插图珍藏本)
》
售價:HK$
705.6
《
地下(村上春树沙林毒气事件的长篇纪实)
》
售價:HK$
76.7
《
偿还:债务与财富的阴暗面
》
售價:HK$
80.2
《
清华大学藏战国竹简校释(壹):《命训》诸篇
》
售價:HK$
94.4
《
封建社会农民战争问题导论(光启文库)
》
售價:HK$
68.4
|
編輯推薦: |
如何能将前端服务器上获得的数据近似实时放到Hadoop中去?有了这本完整的参考指南,你将学习Flume丰富的功能集合:收集、汇聚和写大量流数据到Hadoop分布式文件系统(HDFS)、Apache HBase、SolrCloud、ElasticSearch以及其他系统。
本书指导运维工程师如何配置、部署和监控Flume群集,并指导开发人员如何编写Flume插件和特殊使用情况的自定义组件。你将了解Flume的设计和实现,以及使其具备高度可扩展、灵活和可靠等特性的各种功能。
■
了解Flume如何通过数据生产者和消费者之间的缓冲区为流提供稳定的速率。
■
深入Flume的关键组件,包括接收数据的Source和写入、转发数据的Sink。
■
编写自定义插件来定制Flume接收、修改、格式化和写入数据的方式。
■
探索从自己的应用程序发送数据到Flume Agent的API。
■
以一种可扩展的、灵活的方式规划和部署Flume——一旦集群运行则监控集群。
|
內容簡介: |
《Flume:构建高可用、可扩展的海量日志采集系统》从Flume 的基本概念和设计原理开始讲解,分别介绍了不同种类的组件、如何配置组件、如何运行Flume
Agent 等。同时,分别讨论Source、Channel 和Sink 三种核心组件,不仅仅阐述每个组件的基本概念,而且结合实际的编程案例,深入、全面地介绍每个组件的详细用法,并且这部分内容也是整个Flume 框架的重中之重。之后,讲解拦截器、Channel选择器、Sink 组和Sink 处理器等内容,它们为Flume 提供灵活的扩展支持。最后,介绍了Flume 的高级使用,如何使用Flume 软件开发工具集(SDK)和Embedded Agent API,如何设计、部署和监控Flume 生产集群。
总而言之,《Flume:构建高可用、可扩展的海量日志采集系统》是一本理论结合实战,深度、广度兼备的海量日志采集系统的著作。
|
關於作者: |
Hari Shreedharan是Cloudera的一名软件工程师,他工作于Apache Spark、Apache Flume和Apache Sqoop。他也是Flume项目的一个提交者和PMC成员,帮助项目的方向做决定。
|
目錄:
|
译者序 ...........................................................................
v
序 ................................................................................xiii
前言 ...............................................................................
x
第1 章 认识Apache Hadoop 和Apache HBase ............ 1
分布式文件系统HDFS
..........................................................................................1
HDFS 的数据格式 ...........................................................................................3
处理HDFS 中的数据 ......................................................................................4
Apache HBase
........................................................................................................4
总结 .......................................................................................................................5
参考文献 ................................................................................................................6
第2 章 用Apache Flume 处理流数据 ............................ 7
我们需要Flume .....................................................................................................7
Flume 是否适合呢? .............................................................................................9
Flume Agent 内部原理 .........................................................................................10
配置Flume Agent
.................................................................................................13
Flume Agent 之间的相互通信 ..............................................................................17
复杂的流 ..............................................................................................................17
复制数据到不同目的地 ........................................................................................20
动态路由 ..............................................................................................................21
Flume 的无数据丢失保证,Channel 和事务 ........................................................22
Flume Channel 中的事务 ...............................................................................23
Agent 失败和数据丢失 ........................................................................................25
批量的重要性 ......................................................................................................26
重复怎么样? ......................................................................................................27
运行Flume Agent
.................................................................................................27
总结 .....................................................................................................................29
参考文献 ..............................................................................................................30
第3 章 源(Source) .................................................. 31
Source 的生命周期 ...............................................................................................31
Sink-to-Source 通信 .............................................................................................33
Avro Source ...................................................................................................34
Thrift Source
.................................................................................................37
RPC Sources 的失败处理 ..............................................................................39
HTTP Source
........................................................................................................40
针对HTTP Source 写处理程序*
..................................................................42
Spooling Directory Source
....................................................................................47
使用Deserializers 读取自定义格式*
............................................................50
Spooling Directory Source 性能.....................................................................55
Syslog Source
.......................................................................................................55
Exec Source
..........................................................................................................59
JMS Source
..........................................................................................................61
转换JMS 消息为Flume 事件*
.....................................................................63
编写自定义Source*
.............................................................................................65
Event-Driven Source 和Pollable Source
........................................................66
总结 .....................................................................................................................73
参考文献 ..............................................................................................................73
第4 章 Channel
......................................................... 75
事务工作流 ..........................................................................................................76
Flume 自带的Channel
.........................................................................................78
Memory Channel
...........................................................................................78
File Channel
..................................................................................................80
总结 .....................................................................................................................86
参考文献 ..............................................................................................................86
第5 章 Sink ...............................................................
87
Sink 的生命周期 ..................................................................................................88
优化Sink 的性能 .................................................................................................89
写入到HDFS :HDFS Sink
..................................................................................89
理解Bucket
...................................................................................................90
配置HDFS Sink ............................................................................................93
使用序列化器控制数据格式*
..................................................................... 100
HBase Sink
.........................................................................................................
106
用序列化器将Flume 事件转换成HBase Put 和Increment* ....................... 108
RPC Sink
............................................................................................................
113
Avro Sink .....................................................................................................
113
Thrift Sink
...................................................................................................
115
Morphline Solr Sink ...........................................................................................
116
Elastic Search Sink
.............................................................................................
119
自定义数据格式*
.......................................................................................
121
其他Sink :Null Sink、Rolling File Sink 和Logger Sink
.................................. 124
编写自定义Sink* ..............................................................................................
125
总结 ...................................................................................................................
129
参考文献 ............................................................................................................
129
第6 章 拦截器、Channel 选择器、Sink 组和
Sink 处理器 ................................................... 131
拦截器 ................................................................................................................
131
时间戳拦截器 ..............................................................................................
132
主机拦截器 .................................................................................................
133
静态拦截器 .................................................................................................
133
正则过滤拦截器 ..........................................................................................
134
Morphline 拦截器 ........................................................................................
135
UUID 拦截器 ...............................................................................................
136
编写拦截器*
...............................................................................................
137
Channel 选择器 ..................................................................................................
140
复制Channel 选择器 ...................................................................................
140
多路复用Channel 选择器 ........................................................................... 141
自定义Channel 选择器*
............................................................................
144
Sink 组和Sink 处理器 .......................................................................................
146
Load-Balancing Sink 处理器 .......................................................................
148
Failover Sink 处理器 ...................................................................................
151
总结 ...................................................................................................................
153
参考文献 ............................................................................................................
154
第7 章 发送数据到Flume*
....................................... 155
构建Flume 事件 ................................................................................................
155
Flume 客户端SDK
.............................................................................................
156
创建Flume RPC 客户端 ..............................................................................
157
RPC 客户端接口 .........................................................................................
157
所有RPC 客户端的公共配置参数 .............................................................. 158
默认RPC 客户端.........................................................................................
165
Load-Balancing RPC 客户端 ....................................................................... 168
Failover RPC 客户端 ...................................................................................
171
Thrift RPC 客户端 .......................................................................................
172
嵌入式Agent
.....................................................................................................
173
配置嵌入式Agent .......................................................................................
175
log4j Appender
...................................................................................................
180
Load-Balancing log4j Appender ...................................................................
181
总结 ...................................................................................................................
182
参考文献 ............................................................................................................
183
第8 章 规划、部署和监控Flume
............................... 185
规划一个Flume 部署 .........................................................................................
185
修复时间 .....................................................................................................
185
我的Flume Channel 需要多少容量? ......................................................... 186
多少层? .....................................................................................................
186
通过跨数据中心链接发送数据 .................................................................... 188
层分片 .........................................................................................................
190
部署Flume .........................................................................................................
191
部署自定义代码 ..........................................................................................
191
监控Flume
.........................................................................................................
193
从自定义组件报告度量 ...............................................................................
196
总结 ...................................................................................................................
196
参考文献 ............................................................................................................
196
索引 ........................................................................... 197
|
內容試閱:
|
过去的几年中,大数据技术的发展和应用有了巨大的增长。Hadoop 和相关平台推动着基于不断增长的巨大数据量的下一波数据分析浪潮。今天产生的数据将用来预测明天发生的事情,伴随着数字革命以不断加快的速度席卷我们生活的所有方面。要跨过这个海量数据新时代的门槛,明显需要注意的一点是:开始处理如何获取所有的数据到你的集群中的数据。显然,这些数据产生的来源,广泛蔓延到整个企业,并且与机器、传感器和社会数据等产生了有趣的互动效应。任何处理类似挑战的操作员毫无疑问会同意,这点是很重要的——如果不是很困难,要建立一个系统,以符合成本效益的方式路由数据到你的集群。
Apache Flume 正是用来应对这个挑战的。
早在2011 年,当Flume 进入Apache 软件基金会孵化状态时,它就是Cloudera 工程师用来在Hadoop 上解决大规模日志数据聚合的一个项目。作为一开始就受欢迎的项目,它看到了大量的新需求,从事件排序到语义的可靠传递,并在其初始发行版就提出来了。鉴于它的受欢迎程度和人们对复杂要求的高需求,我们决定重构整个项目,让它在适用性和可管理性方面更简单、更强大,并在必要时允许简易扩展。在这个孵化器项目中,Hari 和我,连同其他几个工程师,都是昼夜不停地工作,与Flume 社区共同推动这个愿景,使其早日实现。从那时到现在,Flume 已经成型并将自己推入顶级Apache 项目,推出了多次稳定版本,从而大大丰富了其功能。
如今,Flume 在世界各地的大量数据中心被积极部署和使用,有时跨度超越洲际。它继续有效地提供高弹性、容错、可靠、快速和高效的机制,将大量数据从各种各样的数据源移动到目的地系统,如HBase、HDFS 等。一个精心设计的Flume 拓扑,可以在最少或没有干预的前提下运转,实际上它能无限期地自运行。它提供了上下文的路由,当连接恢复时,通过提供可靠存储和重新发送消息的能力,能够处理宕机、网络中断等不可预知或计划外的中断。这些都是现成可用的,且通过使用已广泛采用的相当稳定和直观的接口,提供了自定义任何组件的灵活性。
在本书中,Hari 概述了Flume 的各种组件,并在必要时深入细节。操作员将会发现,这本书对于如何轻松设置和部署Flume 管道的理解是非常有价值的。开发人员将找到一个方便的参考,以在Flume 内构建或自定义组件,并更好地理解其架构和组件的设计。
最重要的是,这本书在你设置连续HDFS 和HBase 的输入时,会给出必要的见解——HDFS 和HBase 是如今最受欢迎的两个存储系统。
通过部署Flume,可以确保数据——无论数据来自什么企业,或是多大量级——都将安全、及时地到达你的大数据平台。然后你就可以将精力集中在如何洞悉数据上。祝大家好运!
——Arvind
Prabhakar, CTO, StreamSets
|
|