1.zookeeper配置

我的集群共有三台机器,分别叫做ceph10,ceph20,ceph30。在进行zk和Kafka配置前,先确保修改过了它们的hosts文件,通过主机名可以ping通。

下载和解压Kafka和zookeeper,把/zookeeper/conf里的zoosample.cfg,重命名为zoo.cfg
在zoo.cfg里改动如下:
#zookeeper数据目录
dataDir=/home/ceph-admin/tmp/zkdata
#server.X=host:port:port,第一个端口用户follower节点连接leader节点,第二个端口用户leader选举
#通常是2888和3888
server.1=ceph10:2888:3888
server.2=ceph20:2888:3888
server.3=ceph30:2888:3888
image.png
在每个节点/home/ceph-admin/tmp/zkdata文件夹里创建名为myid的文件,三个机器里myid分别是1,2,3
image.png
ceph10里的myid文件里写1,ceph10里的myid文件里写2,ceph10里的myid文件里写3

在zookeeper的bin目录里,启动zookeeper:
zkServer.sh start
查看zookeeper状态,发现一个leader,两个follower:
zkServer.sh stutus
image.png
image.png

2.Kafka配置

解压Kafka,在/Kafka/config里修改server.properties文件

  • broker.id分别修改成0,1,2。如我的ceph10里broker.id=0,ceph20里broker.id=1,ceph30里broker.id=2.


  • 每个节点的advertised.listeners=PLAINTEXT://host:9092把host改成自己的主机名,如ceph20里advertised.listeners=PLAINTEXT://ceph20:9092


  • 每个节点都修改Kafka日志目录,log.dirs=/home/ceph-admin/tmp/kafka-logs,根据你的习惯自己定


  • 每个节点修改zookeeper.connect=ceph10:2181,ceph20:2181,ceph30:2181,ceph10,ceph20,ceph30分别对应你主机的名字

这样Kafka集群就配置完了,分别在三个节点启动Kafk。
在ceph10的/Kafka/bin目录输入命令,创建名为test的topic。
./kafka-topics.sh —create —zookeeper ceph10:2181,ceph20:2181,ceph30:2181 —replication-factor 2 —partitions 3 —topic test
image.png
在ceph20的/Kafka/bin目录输入命令查看当前集群的topic,也看到了test,说明集群配置成功。
./kafka-topics.sh —zookeeper ceph10:2181,ceph20:2181,ceph30:2181 —list
image.png