搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Flume:构建高可用、可扩展的海量日志采集系统
0.00    
图书来源:
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787121265587
  • 作      者:
    (美)Hari Shreedharan著
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2015
收藏
编辑推荐
如何能将前端服务器上获得的数据近似实时放到Hadoop中去?有了这本完整的参考指南,你将学习Flume丰富的功能集合:收集、汇聚和写大量流数据到Hadoop分布式文件系统(HDFS)、Apache HBase、SolrCloud、ElasticSearch以及其他系统。
本书指导运维工程师如何配置、部署和监控Flume群集,并指导开发人员如何编写Flume插件和特殊使用情况的自定义组件。你将了解Flume的设计和实现,以及使其具备高度可扩展、灵活和可靠等特性的各种功能。
■ 了解Flume如何通过数据生产者和消费者之间的缓冲区为流提供稳定的速率。
■ 深入Flume的关键组件,包括接收数据的Source和写入、转发数据的Sink。
■ 编写自定义插件来定制Flume接收、修改、格式化和写入数据的方式。
■ 探索从自己的应用程序发送数据到Flume Agent的API。
■ 以一种可扩展的、灵活的方式规划和部署Flume——一旦集群运行则监控集群。
展开
作者简介

  Hari Shreedharan,是Cloudera的一名软件工程师,他工作于Apache Spark、Apache Flume和Apache Sqoop。他也是Flume项目的一个提交者和PMC成员,帮助项目的方向做决定。


  马延辉
,资深Hadoop技术专家,北京科技大学硕士,对Hadoop生态系统相关技术有深刻的理解,在Hadoop开发和运维方面积累了丰富的经验。曾就职于淘宝、Answers.com、暴风等互联网公司,从事Hadoop相关的研发和运维工作,对大数据技术的企业级落地、研发、运维和管理方面有着深刻理解和丰富的实战经验。开源HBase监控工具Ella作者。在国内Hadoop社区内非常活跃,经常在各种会议和沙龙上做技术分享,深受欢迎。现在致力于大数据技术在传统行业的落地,致力于大数据技术的普及和推广。

展开
内容介绍

  《Flume:构建高可用、可扩展的海量日志采集系统》从Flume 的基本概念和设计原理开始讲解,分别介绍了不同种类的组件、如何配置组件、如何运行Flume Agent 等。同时,分别讨论Source、Channel 和Sink 三种核心组件,不仅仅阐述每个组件的基本概念,而且结合实际的编程案例,深入、全面地介绍每个组件的详细用法,并且这部分内容也是整个Flume 框架的重中之重。之后,讲解拦截器、Channel选择器、Sink 组和Sink 处理器等内容,它们为Flume 提供灵活的扩展支持。最后,介绍了Flume 的高级使用,如何使用Flume 软件开发工具集(SDK)和Embedded Agent API,如何设计、部署和监控Flume 生产集群。

  总而言之,《Flume:构建高可用、可扩展的海量日志采集系统》是一本理论结合实战,深度、广度兼备的海量日志采集系统的著作。

展开
精彩书评
“运维人员将会发现这本书,对于如何轻松设置和部署Flume管道的理解是非常有价值的。开发人员将找到一个方便的参考,以在Flume内部构建或自定义组件,并更好地理解其架构和组件的设计。最重要的是,这本书将给你为HDFS和HBase建立持续的输入提供必要的见解。”
——Arvind Prabhakar,StreamSets CTO
展开
精彩书摘
过去的几年中,大数据技术的发展和应用有了巨大的增长。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
展开
目录

译者序   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

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证