一、Kafka的设计目标
【提示】 Broker可以理解为Kafka的服务器,这里注意启动顺序,需要先启动Zookeeper,然后启动Broker!
二、初步体验Kafka
1. kafka的下载与安装
2. 启动kafka自带的zookeeper,默认是前台启动
【提示】验证zookeeper是否启动 lsof -i 2181
3. 启动kafka的broker
【提示】验证broker是否启动成功 lsof -i 9092
4. 创建Topic
【提示】查看topic的信息
5. 消费者
6. 生产者
【提示】上面使用的是kafka自带的zookeeper启动。也可以单独使用zookeeper,步骤和上面的一致!
三、Topic & Partition
四、Replication
五、安装Zookeeper与Kafka集群
1. 安装clustershell
https://blog.csdn.net/FullStackDeveloper0/article/details/95472210
2. 配置分发规则,把kafka分发给进群的每一个节点
vim /etc/clustershell/groups.d/local.cfg
kafka:node[1-3]
保存退出之后,执行下面的命令
把需要拷贝的文件拷贝到kafka对应的node1、2、3中,可以理解为快捷的scp命令,即:
scp /pzz/kafka_2.9.2-0.8.1.1 root@node1:/pzz/
scp /pzz/kafka_2.9.2-0.8.1.1 root@node2:/pzz/
scp /pzz/kafka_2.9.2-0.8.1.1 root@node3:/pzz/
4. 下载、配置zookeeper
【提示】zookeeper的配置安装很简单,不做介绍!
5. 分发zookeeper给集群中的每个节点,与步骤三大体一致
clush -g kafka -c /pzz/zookeeper-4.4.3
6. 配置zookeeper集群
【提示】另外三个节点分别输入2、3
查验:
7. 启动zookeeper集群
【提示】上面的zookeeper配置若是不是很理解,建议先去配置一遍zookeeper集群,然后再来用clustershell来配置!
8. 配置Kafka集群
(1)编辑server.properties
vim /opt/kafka/kafka_2.11-0.8.2.1/config/server.properties
(2) 分发到集群
(3)在每一个节点上编辑server.properties
---node1---
broker.id=1
---node2---
broker.id=2
---node3---
broker.id=3
【提示】与zookeeper集群的myid配置有点相似
(4)启动集群
9、验证集群
(1)创建主题topic
(2)创建consumer
(3)创建producer
【注意】Docker的虚拟容器技术安装上面的配置也很方便!
六、Zookeeper集群查看Kafka状态
1. 配置管理
【提示】看到kafka集群创建topic数量以及具体某一个topic的相关配置
2. 领导选举 leader election
【提示】Controller是来做leader election的
3. 监控kafka服务器broker的状态
【提示】查看kafka集群的broker信息
七、Springboot整合Kafka
https://blog.csdn.net/qq_18603599/article/details/81169488
文章中涉及的@PostConstruct注解,参考下文