前期準備
在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。
以上配置過程沒有什么特別需要注意的地方,若訪問可考慮是否為防火墻問題。