Kafka集群配置
歡迎支持筆者新作:《深入理解Kafka:核心設計與實踐原理》和《RabbitMQ實戰指南》,同時歡迎關注筆者的微信公眾號:朱小廝的博客。
歡迎跳轉到本文的原文鏈接:https://honeypps.com/mq/kafka-cluster-config/
之前一篇博文簡單講述了zookeeper和kafka的單機配置,詳細可以參考《Linux(CentOS)中常用軟件安裝,使用及異常——Zookeeper, Kafka》。
本文只要講述Kafka集群的配置事項,包括zookeeper集群的配置。本文講述的前提是kafka和zookeeper在單機情況下已正確安裝和配置。如有疑問,可以參考《Linux(CentOS)中常用軟件安裝,使用及異常——Zookeeper, Kafka》。
假設集群中有三臺機器, ip地址分別為: xx.101.139.1, xx.101.139.2, xx.101.139.3.
zookeeper集群: xx.101.139.1:2181, xx.101.139.2:2181, xx.101.139.3:2181.
kafka broker集群: xx.101.139.1:9092, xx.101.139.2:9092, xx.101.139.3:9092.
配置zookeeper集群
1 修改zookeeper的配置文件,在$ZOOKEEPER_HOME/conf/下的zoo.cfg.(每臺機器都需要添加)
在文件末尾添加:
這里簡單說明一下:server.A=B:C:D
A是一個數字,表示這個是第幾號服務器,B是這個服務器的ip地址
C第一個端口用來集群成員的信息交換,表示的是這個服務器與集群中的Leader服務器交換信息的端口
D是在leader掛掉時專門用來進行選舉leader所用
2 創建server id標識
在zoo.cfg下同時還需要配置(單機版時就已經設定,在配置集群時就可不必在設置)
在上面可以看到有個dataDir的配置,在配置集群時需要在dataDir配置的/tmp/zookeeper/data下創建一個名稱為"myid"的文件,文件里填上serverid號。
vim /tmp/zookeeper/data/myid 之后在其中輸入0 (根據上一步的配置,xx.101.139.1配置為0,xx.101.139.2配置為1,依次類推對應起來) 輸入:wq保存退出3 啟動各個節點的zookeeper: bin/zkServer.sh start
4 通過bin/zkServer.sh status查看各個節點的狀態。
JMX enabled by default Using config: /root/util/zookeeper-3.4.6/bin/../conf/zoo.cfg Mode: follower (或Leader)配置kafka集群
1 需要修改$KAFKA_HOME/config下的server.properties文件
修改broker.id的值,比如xx.101.139.1設置為0,xx.101.139.2設置為1,依次類推。(每臺kafka broker server必須唯一)
最好將host.name設置為本機的ip地址而不是默認的localhost.
修改zookeeper.connect為zookeeper集群的ip,本例中可以這樣設置:
zookeeper.connect=xx.101.139.1:2181,xx.101.139.2:2181,xx.101.139.3:2181
2 在每臺機器上啟動kafka
bin/kafka-server-start.sh config/server.properties
歡迎跳轉到本文的原文鏈接:https://honeypps.com/mq/kafka-cluster-config/
歡迎支持筆者新作:《深入理解Kafka:核心設計與實踐原理》和《RabbitMQ實戰指南》,同時歡迎關注筆者的微信公眾號:朱小廝的博客。
總結
- 上一篇: RabbitMQ脑裂
- 下一篇: 如何使用JMX监控Kafka