欢迎光临
免费的PDF电子书下载网站

构建Apache Kafka流数据应用 PDF下载

编辑推荐

Apache Kafka是一个流行的分布式流平台,它充当消息队列或企业消息系统。它允许你发布和订阅记录流,并以容错的方式处理它们。

本书是使用Apache Kafka集成其他大数据工具设计和构建企业级流应用程序的综合指南。它包括构建此类应用程序的*实践,并解决了一些常见的挑战性问题,例如如何有效地使用Kafka来轻松处理高容量数据。本书首先介绍了消息系统类型,然后详细介绍了Apache Kafka及其内部细节。本书的第二部分介绍了如何使用各种框架和工具(如Apache Spark、Apache Storm等)设计流应用程序。一旦你掌握了基础知识,我们将带你理解Apache Kafka中更高级的概念,例如容量规划和安全性。

到本书结束时,你将掌握使用Apache Kafka时所需要的所有信息,并使用它设计高效的流数据应用。 ;

内容简介

Apache Kafka是一个流行的分布式流平台,充当消息队列或企业消息传递系统。它用来发布和订阅数据流,并在发生错误时以容错方式处理它们。 本书共13章,全面介绍使用Apache Kafka等大数据工具设计和构建企业级流应用方面的内容,包括构建流应用程序的*实践,并解决了一些常见的挑战,例如如何高效地使用Kafka轻松处理高容量数据。完成本书的学习后,读者能使用Kafka设计高效的流数据应用程序。 本书既适合Kafka初学者、大数据应用开发人员、大数据应用运维人员阅读,也适合高等院校与培训学校相关专业的师生教学参考。

作者简介

蒋守壮,现就职于金拱门(中国)有限公司,担任大数据卓越中心高级工程和平台经理,负责大数据平台的架构和产品研发。译者拥有多年丰富的大数据生产实战经验和产品研发能力,著有图书《基于Apache Kylin构建大数据分析平台》。

构建Apache Kafka流数据应用 PDF下载

目录

其他生产者配置 ; ;  ;40
Java编程语言:Kafka生产者示例 ; ;  ;42
常见的消息发布模式 ; ;  ;44
最佳实践 ; ;  ;46
总 ; 结 ; ;  ;48
第4章 ; 深入研究Kafka消费者 ; ;  ;49
Kafka消费者内部机制 ; ;  ;50
理解Kafka消费者的职责 ; ;  ;50
Kafka消费者API ; ;  ;52
消费者配置 ; ;  ;52
订阅和轮询 ; ;  ;54
提交和轮询 ; ;  ;56
其他配置 ; ;  ;59
利用Java实现Kafka消费者 ; ;  ;60
利用Scala实现Kafka消费者 ; ;  ;62
Rebalance listeners ; ;  ;64
常用的消息消费模式 ; ;  ;64
最佳实践 ; ;  ;67
总 ; 结 ; ;  ;68
第5章 ; 集成Kafka 构建Spark Streaming应用 ; ;  ;69
Spark介绍 ; ;  ;70
Spark架构 ; ;  ;70
Spark的核心 ; ;  ;72
Spark生态系统 ; ;  ;73
Spark Streaming ; ;  ;75
Receiver-based集成 ; ;  ;75
Receiver-based approach的缺点 ; ;  ;77
Receiver-based集成的Java示例 ; ;  ;77
Receiver-based集成的Scala示例 ; ;  ;79
Direct approach ; ;  ;80
Direct approach的Java示例 ; ;  ;82
Direct approach的Scala示例 ; ;  83
日志处理用例—欺诈IP检测    84
Maven    85
生产者    89
Reader属性    89
生产者代码    90
欺诈IP查找    92
暴露Hive表    93
Streaming代码    94
总  结    97
第6章  集成Kafka构建Storm应用    98
Apache Storm介绍    98
Storm集群架构    99
Storm应用程序的概念    100
Apache Heron介绍    101
Heron架构    102
Heron topology架构    103
集成Apache Kafka与Apache Storm - Java    104
示  例    105
集成Apache Kafka与Apache Storm - Scala    110
用例—使用Storm、Kafka和Hive处理日志    114
生产者    118
生产者代码    119
欺诈IP查找    122
Storm应用程序    123
运行项目    132
总  结    133
第7章  使用Kafka与 Confluent Platform    134
Confluent Platform介绍    135
深入Confluent Platform架构    136
理解Kafka Connect 和 Kafka Stream    139
Kafka Streams    139
使用Schema Registry与Avro交互    140
将Kafka数据移动到HDFS    142
Camus    142
运行Camus    143
Gobblin    144
Gobblin架构    144
Kafka Connect    146
Flume    147
总  结    150
第8章  使用Kafka构建ETL管道    151
在ETL管道中使用Kafka    151
介绍Kafka Connect    153
深入研究Kafka Connect    154
介绍使用Kafka Connect示例    155
Kafka Connect常见的用例    159
总  结    160
第9章  使用Kafka Streams 构建流应用程序    161
介绍Kafka Streams    161
在流处理中使用Kafka    162
Kafka Stream—轻量级流处理库    163
Kafka Stream架构    164
集成框架的优势    166
理解Tables和Streams    167
Maven依赖    167
Kafka Stream单词计数    168
KTable    170
Kafka Stream使用案例    171
Kafka Streams的Maven依赖    171
reader属性    172
IP记录生产者    173
IP查询服务    176
欺诈检测应用程序    177
总  结    179
第10章  Kafka集群部署    180
Kafka集群的内部结构    180
Zookeeper角色    181
复  制    182
元数据(Metadata)请求处理    184
生产者(Producer)请求处理    184
消费者(Consumer)请求处理    185
容量规划    186
容量规划的目标    186
复制因子    186
内  存    187
硬盘驱动器    187
网  络    188
CPU    188
Kafka单集群部署    189
Kafka多集群部署    190
退役brokers    192
数据迁移    192
总  结    193
第11章  在大数据应用中使用Kafka    194
管理Kafka的高容量    195
适当的硬件选择    195
生产者读取和消费者写入的选择    197
Kafka消息传递语义    198
至少一次传递    199
最多一次传递    202
正好一次传递    203
大数据和Kafka常见的使用模式    204
Kafka和数据治理    206
报警和监控    207
有用的Kafka指标    208
Kafka生产者指标    208
Kafka broker指标    209
Kafka消费者指标    209
总  结    210

第12章  Kafka安全    211
Kafka安全的概述    211
SSL有线加密    212
Kafka启用SSL的步骤    213
为Kafka broker配置SSL    214
为Kafka客户端配置SSL    214
Kerberos SASL认证    215
在Kafka中启用SASL/GSSAPI的步骤    217
为Kafka broker配置SASL    217
为Kafka客户端配置SASL―生产者和消费者    219
理解ACL和授权    220
常见的ACL操作    221
ACLs列表    222
Zookeeper身份验证    223
Apache Ranger授权    224
为Ranger添加Kafka服务    224
添加策略(policies)    225
最佳实践    227
总  结    229
第13章  流应用程序设计的考虑    230
延迟和吞吐量    231
数据和状态的持久性    232
数据源    232
外部数据查询    233
数据格式    233
数据序列化    234
并行度    234
无序的事件    235
消息处理语义    235
总  结    236

前沿

Apache Kafka是一个流行的分布式流平台,充当消息队列或企业消息系统,允许你发布和订阅流记录,并以容错的方式进行处理。
本书是使用Apache Kafka和其他大数据工具设计和构建企业级流应用(应用程序)的综合指南,包括构建此类应用程序的最佳实践,并解决了一些常见的挑战性问题,例如如何有效地使用Kafka来轻松处理高容量数据。本书首先介绍消息系统类型,然后详细介绍Apache Kafka及其内部细节,接着介绍如何使用各种框架和工具(如Apache Spark、Apache Storm等)设计流应用程序。掌握了这些基础知识以后,我们将带你理解Apache Kafka中更高级的概念,例如容量规划和安全性。
到本书结束时,你将掌握使用Apache Kafka时所需要的所有信息,并使用它设计高效的流数据应用程序。
本书涵盖的内容
第1章,消息系统介绍,介绍消息系统的概念。本章涵盖了消息系统及其企业需求的概述,它进一步强调了使用诸如点到点或发布/订阅等消息系统的不同方式,并引入了AMQP。
第2章,介绍Kafka——分布式消息平台,介绍诸如Kafka这样的分布式消息平台。本章涵盖了Kafka架构,并触及内部组件,进一步探讨了每个Kafka组件的角色和重要性,以及它们如何对低延迟、可靠性和Kafka消息系统的可伸缩性做出贡献。
第3章,深入研究Kafka生产者,是关于如何向Kafka系统发布消息的内容。本章进一步介绍了Kafka生产者APIs及其用法,展示了使用Java和Scala编程语言调用Kafka生产者APIs的例子。需要深入了解生产者消息流以及一些用于向Kafka Topics生产消息的常见模式,为Kafka的生产者提供了一些性能优化的技术。
第4章,深入研究Kafka消费者,是关于如何从Kafka系统中消费消息。这也包括Kafka消费者APIs及其使用,展示了使用Java和Scala编程语言调用Kafka消费者APIs的例子,深入探讨了消费者消息流和一些常见的从Kafka Topics中消费消息的模式,为Kafka消费者提供了一些性能优化的技术。
第5章,集成Kafka构建Spark Streaming应用,是关于如何将Kafka与流行的分布式处理引擎Apache Spark集成在一起的内容。本章提供了Apache Kafka的简要概述,将Kafka与Spark集成的不同方法以及它们的优缺点,并展示了Java和Scala中的用例。
第6章,集成Kafka构建Spark Storm应用,是关于如何将Kafka与流行的实时处理引擎Apache Storm集成在一起的内容。本章还简要介绍了Apache Storm和Apache Heron,展示了使用Apache Storm和Kafka进行事件处理的不同方法的示例,包括有保证的事件处理。
第7章,使用Kafka与Confluent Platform,是关于新兴的流平台Confluent的,使你能够有效地使用Kafka和许多其他额外的功能,展示了许多本章涵盖主题的许多例子。
第8章,使用Kafka构建ETL管道,介绍Kafka Connect,这是一种常见组件,用于构建涉及Kafka的ETL管道,强调如何在ETL管道中使用Kafka Connect,并讨论一些相关深入的技术概念。
第9章,使用Kafka Streams构建流应用程序,是关于如何使用Kafka Stream构建流应用程序的内容,这是Kafka 0.10发行版的一个组成部分,也包括使用Kafka Stream构建快速可靠的流应用程序,包括示例。
第10章,Kafka集群部署,着重于在企业级生产系统上部署Kafka集群,深入涵盖了Kafka集群,例如如何进行容量规划、如何管理单个/多集群部署等,还介绍了如何在多租户环境中管理Kafka以及Kafka数据迁移所涉及的各个步骤。
第11章,在大数据应用程序中使用Kafka,介绍了在大数据应用程序中使用Kafka的一些方面,包括如何管理Kafka中的高容量、如何确保有保证的消息传递、处理故障而不丢失数据的最佳方式以及在大数据管道中使用Kafka时可应用的一些治理原则。
第12章,Kafka安全,是关于保护Kafka集群的内容,包括身份验证、授权机制以及示例。
第13章,流应用程序设计的考虑,是关于构建流应用程序的不同设计考虑的内容,可以让你了解并行性、内存调优等方面,全面提供了设计流应用程序的不同范式。
对于这本书你需要什么
你将需要以下软件来处理本书中的示例:
Apache Kafka、大数据、Apache Hadoop、发布和订阅、企业消息系统、分布式流、生产者API、消费者API、Streams API、Connect API。
这本书适合谁
如果你想以最简单的方式学习如何使用Apache Kafka和Kafka生态系统中的各种工具,本书就是为你准备的。需要具有一些Java编程经验才能充分利用这本书。
排版约定
在本书中,你将会发现许多区分不同类型信息的文本格式。下面是这些样式的一些例子及其含义的解释。
代码块的设置如下:
import org.apache.Kafka.clients.producer.KafkaProducer;
import org.apache.Kafka.clients.producer.ProducerRecord;
import org.apache.Kafka.clients.producer.RecordMetadata;

任何命令行输入或输出的写法如下:
sudo su - hdfs -c "hdfs dfs -chmod 777 /tmp/hive"
sudo chmod 777 /tmp/hive

部分新术语和重要单词会以粗体显示。例如,在屏幕上看到的单词或菜单中出现的文字如下所示:“为了下载新模块,我们将转到Files | Settings | Project Name | Project Interpreter”。
警告或重要提示使用图标:
提示和技巧使用图标:
读者反馈
欢迎来自我们读者的反馈。让我们知道你对这本书的看法——你喜欢或不喜欢的内容。读者反馈对我们来说很重要,因为它可以帮助我们开发出你真正可以获得最大收益的主题。
为了给我们提供反馈,请发送E-mail至:jiangshouzhuang@gmail.com,并在你的邮件主题中注明这本书的书名。
下载示例代码
本书的代码包托管在GitHub上,译者的GitHub网址为:
https://github.com/jiangshouzhuang/Building-Data-Streaming-Applications-with-Apache-Kafka
原书的Github网址为:
https://github.com/PacktPublishing/Building-Data-Streaming-Applications-with-Apache-Kafka

为了方便读者下载,给出这两个网址的二维码如下:
             
下载本书的彩色图像
我们还为你提供PDF文件,其中包含本书中使用的屏幕截图/图表的彩色图像。彩色图像将帮助你更好地理解输出的细节。我们已经将彩色图像的PDF文件放在了GitHub上面,网址为:
https://github.com/jiangshouzhuang/Building-Data-Streaming-Applications-with-Apache-Kafka/blob/master/ColorImages/BuildingDataStreamingApplicationswithApacheKafka_ColorImages.pdf
译者介绍
蒋守壮,现就职于金拱门(中国)有限公司,担任大数据卓越中心高级工程和平台经理,负责大数据平台的架构和产品研发。译者拥有多年丰富的大数据生产实战经验和产品研发能力,著有图书《基于Apache Kylin构建大数据分析平台》。

构建Apache Kafka流数据应用 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:构建Apache Kafka流数据应用