1、kafka整体架构
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
点击此处添加图片说明文字
Broker:是Kafka集群中包含的一个或多个服务器,这种服务器被称为broker。
Topic:每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)
Partition:Partition是物理上的概念,每个Topic包含一个或多个Partition.
Producer负责发布消息到Kafka broker
Consumer:消息消费者,向Kafka broker读取消息的客户端。
Consumer Group:每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)。
2、部署kafka和zookeeper
1)添加incubator的helm仓库
通过执行下面的命令,添加incubator的helm仓库。
$ helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com
2)获取chart
为了修改运行环境的参与,将incubator/kafka下载到本地。
$ helm fetch incubator/kafka –version 0.21.2
将此kafka-0.21.2.tgz解压缩到本地。
3)