- 自己动手做大数据系统(第2版)
- 刘未昕等
- 606字
- 2020-08-27 14:19:30
2.8 Kafka
Kafka是一种高吞吐量的分布式中间件,它是在日志采集处理上比较通用的大数据组件工具。其核心架构如图2-10所示。
在图2-10中,其核心架构由Producer层、Broker层、Consumer层和ZooKeeper状态协同层4部分组成。在此要厘清以下几个概念。
• Broker:Kafka服务器,负责消息的存储和转发。
• Topic:消息类别,Kafka按照Topic来分类消息。
• Partition:Topic的分区。一个Topic可以包含多个Partition。Topic消息保存在各个Partition中。
• Producer:消息生产者。
• Consumer:消息消费者。
• Consumer Group:消费者分组,每个Consumer必须属于一个Group。
• ZooKeeper:保存着集群Broker、Topic、Partition等元数据;另外,它还具有Broker故障发现、Partition Leader选举、负载均衡等功能。
![](https://epubservercos.yuewen.com/EE9D0A/17493186606224406/epubprivate/OEBPS/Images/txt003_69.jpg?sign=1739520930-UT5D3lRJXRL3F82KFOF44EhdsXRECF9T-0-f80a7ee36966786fb444d693d9cd2d42)
图2-10 Kafka核心架构图
企业一般选择Kafka作为日志处理工具的原因如下:
• 可与Flume工具进行很好的互补组合。Flume工具虽然有多种数据源类型采集设置并能稳定、可靠地把数据发送到HDFS或HBase中;但是,如果数据输出要求不仅仅要传给HDFS,还要传给多个数据消费者,就需要结合Kafka来对应组合,以达到更好的性能效果。
• Kafka作为轻量级的工具,更加灵活,并可自定义开发配置。这对于业务数据的多场景数据消费更方便。
• Kafka的源码是由Java和Scala编写的,所以如果企业使用了Spark架构,则选用Kafka组件与Spark对接的稳定性更好。
其对应的安装与配置步骤如下。
1)进入CentOS 7所对应的Kafka安装文件夹,在Apache Kafka网站下载软件包kafka_2.11-2.1.0.tgz。
2)下载完成后,解压缩并重命名所解压缩的文件夹名称:
![](https://epubservercos.yuewen.com/EE9D0A/17493186606224406/epubprivate/OEBPS/Images/txt003_70.jpg?sign=1739520930-69rT8mNT7kNnX7IGlAOCAc1MYZp2wia8-0-a790a6d1f706891292e91f10f4a465c1)
3)进入kafka文件夹,进行配置文件的设置:
![](https://epubservercos.yuewen.com/EE9D0A/17493186606224406/epubprivate/OEBPS/Images/txt003_71.jpg?sign=1739520930-nS87Isq80V8XOBNVFRLlloBLU9N2Hh95-0-8b6eb0ccce6efae79d9f19984b710238)
4)更改所对应的配置信息。为了使得前后环境及配置信息保持一致,具体配置信息会在第9章中详细介绍。