在CentOS上擴展Kafka集群的步驟如下:
安裝Java環境:
sudo yum install java-1.8.0-openjdk-devel
下載并解壓Kafka:
wget https://archive.apache.org/dist/kafka/2.8.0/kafka_2.13-2.8.0.tgz
tar -xzf kafka_2.13-2.8.0.tgz
sudo mv kafka_2.13-2.8.0 /opt/kafka
配置新的Broker:
編輯/opt/kafka/config/server-new.properties
文件(假設新節點的配置文件命名為server-new.properties
),配置如下:
broker.id=3 # 新broker的唯一ID,確保不與現有broker沖突
listeners=PLAINTEXT://:9093 # 新broker的監聽地址和端口
log.dirs=/tmp/kafka-logs-new # 新broker的日志目錄
zookeeper.connect=zookeeper:2181 # Zookeeper連接字符串
啟動新的Broker:
nohup /opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server-new.properties &
編輯現有Broker配置:
編輯/opt/kafka/config/server.properties
文件,添加新的broker ID:
broker.id=1 # 確保每個broker的ID唯一
重啟現有Broker:
sudo systemctl restart kafka
編輯Zookeeper配置:
編輯/opt/kafka/config/zookeeper.properties
文件,確保所有broker的ID都已記錄:
server.1=zookeeper:2888:3888
server.2=broker1:2888:3888
server.3=broker2:2888:3888
server.4=broker-new:2888:3888
重啟Zookeeper:
nohup /opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties &
檢查Broker狀態:
/opt/kafka/bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe
確認所有broker都已正確加入集群。
檢查Zookeeper狀態:
/opt/kafka/bin/zkServer.sh status
確認Zookeeper集群狀態正常。
通過以上步驟,您可以在CentOS上成功擴展Kafka集群。請確保在整個過程中仔細檢查每一步的配置和狀態,以避免潛在的問題。