1)kafka的集群架構搭建特別簡單:
先修改kafka的 config/server.properties配置文件,每一個kafka Server都連接到相同的zookeeper地址,如果zookeeper是集群,則用逗號隔開多個地址,集群就搭建好了。
這里貼出server.properties的關鍵幾個配置:
broker.id=0 // broker ID, 集群模式下該ID必須唯一。重點:每新啟動一個Kafka Server加入Kafka集群,該id必須且只能+1,否則會報錯 id不在指定范圍之內。 zookeeper.connect=localhost:2181,192.168.2.60:2181 // 多個kafka Server只要連接到相同的zookeeper,即被認為kafka集群 listeners=PLAINTEXT://localhost:9092 // kafka Server端啟動端口,如果是同一台機器啟動多個Kafka Server,則需要改此端口號 log.dirs=/tmp/kafka-logs,/directory2,/directory3 // kafka日志數據存儲目錄,就是存儲你的數據,包括topic分區都會存儲在這里
其他配置參考《kafka2.5.0詳解核心配置文件server.properties》
再修改zookeeper的配置文件: conf/zoo.cfg (從zoo_sample.cfg拷貝出來命名為zoo.cfg,因為zoo.cfg是默認zookeeper啟動配置文件名)
dataDir=/tmp/zookeeper // 這里重新定義你自己的zookeeper數據存儲目錄
2) 先啟動zookeeper,再啟動 Kafka Server
必須先啟動zookeeper,因為zookeeper相當於kafka Server的管理中心
[joyce@192 zookeeper-3.6.1]$ bin/zkServer.sh start ZooKeeper JMX enabled by default Using config: /home/joyce/soft/zookeeper-3.6.1/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
啟動kafka:
bin/kafka-server-start.sh config/server.properties
多個Kafka Server 挨個啟動就行了。
3)Kafka集群驗證:
zookeeper工具: 下載ZooInspector工具,連接到Zookeeper,查看節點中的數據驗證Kafka集群。
在cluster目錄下,controller文件就是zookeeper里存儲的kafka控制器,里面的brokerid 值就是當前哪個broker成為kafka的控制器,一般為第一個連上zookeeper的kafka Server。
在brokers目錄下,ids文件夾下存儲的就是各個broker.id,組合成kafka集群
4)Topic驗證
新建一個Topic名叫abc,查看該Topic的所有分區,以及每個分區的leader所在位置。
比如在ZooInspector里選擇路徑: brokers --> topics --> partitions --> 1 --> state,可得知 分區1所在的leader是broker 2 :
end.