kafka 依赖于zookper,kafka会将集群信息存放在zookper中,所有要先搭建 zookper集群,再搭建kafka集群。
zookper 集群
zookeeper/conf/zoo.cfg 添加配置信息
server.0=192.168.0.156:288:388
server.1=192.168.0.158:288:388
修改 zookeeper/data/myid 的值, 对应zoo.cfg配置。
启动ZK:服务 zkServer.sh start
查看ZK状态:zkServer.sh status
[root@root bin]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/zookeeper/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower
Kafka 集群
修改 kafka/config/server.properties 文件
# 集群ID 对应zookeeper 的集群ID
broker.id=0
# kafka 监听地址 PLAINTEXT 是协议,不能修改。
listeners=PLAINTEXT://192.168.0.156:9092
advertised.listeners=PLAINTEXT://192.168.0.156:9092
# zookeeper地址,集群用 “,” 逗号隔开。
zookeeper.connect=192.168.0.156:2181,192.168.0.158:2181
启动kafka。在zookeeper 中可以看到 kafka 集群信息。
kafka 分区的概念。
跟elasticsearch 的分片原理相似,这里就不具体写了。
遇到的问题:
1、防火墙问题,关闭防火墙
2、由于是虚拟机是克隆出来的,id 存在冲突,所以要删除data 目录下的文件,重启kafka。