centos7搭建kafka叢集
安裝環境
- 作業系統:CentOS Linux release 7.8.2003
- kafka版本:2.4.1
下載地址
http://kafka.apache.org/downloads.html
叢集規劃
伺服器lnh01 | 伺服器Lnh02 | 伺服器lnh03 |
---|---|---|
zookeeper | zookeeper | zookeeper |
kafka | kafka | kafka |
安裝步驟
-
上傳壓縮包到伺服器
-
解壓至/opt/soft下
命令:tar -zxvf kafka_2.12-2.4.1.tgz -C /opt/soft/
重新命名為kafka
-
目錄結構如下:
-
在/opt/soft/kafka下建立dataLogs目錄
-
修改配置檔案kafka_home/config/server.properties
#broker的全域性唯一編號,和zookeeper的myid一樣,保持唯一 broker.id=0 #能夠刪除topic delete.topic.enable=true #處理網路請求的執行緒數量 num.network.threads=3 #用來處理磁碟IO的執行緒數量 num.io.threads=8 #傳送套接字的緩衝區大小 socket.send.buffer.bytes=102400 #接收套接字的緩衝區大小 socket.receive.buffer.bytes=102400 #請求套接字的緩衝區大小 socket.
-
配置環境變數
vi /etc/profile
source /etc/profile -
單臺kafka配置完成,將解壓包分發到另外兩臺機器
scp -r kafka/ [email protected]:/opt/soft/
scp -r kafka/ [email protected]:/opt/soft/ -
修改對應的server.properties檔案
把檔案中的broker.id分別替換為1和2
-
配置kafka_home
修改 /etc/profile,追加kafka_home到全域性PATH中# kafka export KAFKA_HOME=/opt/soft/kafka export PATH=$PATH:$KAFKA_HOME/bin
記得source哦。 source /etc/profile
-
啟動叢集
[[email protected] kafka]# ./bin/kafka-server-start.sh config/server.properties &
[[email protected] kafka]# ./bin/kafka-server-start.sh config/server.properties &
[[email protected] kafka]# ./bin/kafka-server-start.sh config/server.properties & -
關閉叢集
[[email protected] kafka]# ./bin/kafka-server-stop.sh stop
[[email protected] kafka]# ./bin/kafka-server-stop.sh stop
[[email protected] kafka]# ./bin/kafka-server-stop.sh stop -
測試
建立topicbin/kafka-topics.sh --zookeeper lnh01:2181 \ --create --replication-factor 3 --partitions 1 --topic first
列取所有topic
bin/kafka-topics.sh --zookeeper lnh01:2181 --list
-
群起kafka指令碼
#! /bin/bash case $1 in "start"){ for i in lnh01 lnh02 lnh03 do echo " --------啟動 $i Kafka-------" ssh $i "/opt/soft/kafka/bin/kafka-server-start.sh -daemon /opt/soft/kafka/config/server.properties " done };; "stop"){ for i in lnh01 lnh02 lnh03 do echo " --------停止 $i Kafka-------" ssh $i "/opt/soft/kafka/bin/kafka-server-stop.sh stop" done };; esac