前期准备
在root目录下建立program文件夹,用于存放所需的软件。并在program下建立data文件夹,data中建立zookeeperData
1、zookeeper集群搭建
(1)官方下载zookeeper的包,可点击这里进行跳转,本教程采用zookeeper-3.4.12版本。
(2)下载后解压至root/program
(3)进入解压后的${zookeeperHome}/conf,复制zoo_sample.cfg文件,并命名为zoo.cfg
(4)编辑zoo.cfg文件
此文件需要修改dataDir,本文采用 /root/program/data/zookeeperData路径
新增server.x,其中x为任意数字,根据服务器的数量可增加多条。假设服务器有三台,可进行如下设置
server.1=host1:2888:3888
server.2=host2:2888:3888
server.3=host3:2888:3888
其中2888为zookeeper之间的通讯端口,3888为选举端口,若不想采用此端口可自行更换,保证每台服务器中server.x配置相同即可。
保存并退出
(5)在dataDir文件夹下创建myid文件,并将本机server.x中的x的数字写入myid,保存退出
(6)进行完以上操作后,将以上zookeeper文件夹复制到其他主机相应位置,linux中可采用scp命令进行文件传输,文件放置好后将myid中的数字改为对应服务器中的数字,其余无需改动。
(7)启动zookeeper
分别在每台机器进行启动,启动命令为${zookeeperHome}/bin/zkServer.sh start
启动后通过jdk自带工具jps查看,出现QuorumPeerMain表示启动成功,若启动失败可查看${zookeeperHome}/zookeeper.out日志文件进行排错
2、kafka集群搭建
(1)官方下载kafka安装包,点击这里进行跳转,本教程采用kafka_2.11-1.1.0版本
(2)下载后解压至root/program
(3)进入${kafkaHome}/config目录,修改server.properties文件
修改broker.id,任意数字,在集群中唯一即可
log.dirs指定为/root/program/data/kafkaData
zookeeper.connect(kafka安装包中自带zk,此教程采用上述自己配置的zk)可设置多台,以逗号分隔,例如zkHost1:2181,zkHost2:2181,zkHost3:2181
其余配置采用默认配置,如有需要可自行修改。
(4)复制配置好的kafka文件夹至相应位置,修改broker.id,其余配置不变
(5)启动kafka
${kafkaHome}/bin/kafka-server-start.sh ${kafkaHome}/config/server.properties
可使用jps进行查看,会发现带有kafka字样的进程
注意:因为配置了zookeeper作为kafka的协调,需要先成功启动zookeeper。
以上配置过程没有什么特别需要注意的地方,若访问可考虑是否为防火墙问题。