(2)Kafka的搭建、啟動、測試
阿新 • • 發佈:2022-04-07
Kafka的搭建、啟動、測試
目錄一、kafka的搭建
1、上傳壓縮包到任意節點
2、解壓,配置環境變數 所有節點都配置
#解壓 cd /usr/local/soft tar -xvf kafka_2.11-1.0.0.tgz #配置環境變數 cd /usr/local/soft/kafka_2.11-1.0.0 vim /etc/profile #新增 export KAFKA_HOME=/usr/local/soft/kafka_2.11-1.0.0 export PATH=$KAFKA_HOME/bin:$PATH source /etc/profile
3、修改配置檔案
cd /usr/local/soft/kafka_2.11-1.0.0/config
vim server.properties
#每一個節點broker.id 要不一樣
broker.id=0
#修改zk的連線
zookeeper.connect=master:2181,node1:2181,node2:2181
#訊息(資料)存放的位置
log.dirs=/usr/local/soft/kafka_2.11-1.0.0/data
4、複製到其它節點 -- 偽分散式不需要
cd /usr/local/soft/ scp -r kafka_2.11-1.0.0 node2:`pwd` scp -r kafka_2.11-1.0.0 node1:`pwd`
5、修改每個節點的配置檔案 -- 偽分散式不需要
#node1
cd /usr/local/soft/kafka_2.11-1.0.0/config
vim server.properties
#修改
broker.id=1
#node2
cd /usr/local/soft/kafka_2.11-1.0.0/config
vim server.properties
#修改
broker.id=2
#將master的環境變數同步到node1,node2 cd /usr/local/soft/ scp -r /etc/profile node1:/etc/ scp -r /etc/profile node2:/etc/ 在node1,node2中source source /etc/profile
二、kafka的啟動
1、啟動kafka之前需要先啟動zookeeper
#啟動zookeeper,需要在所有節點啟動
zkServer.sh start
#檢視zk的狀態
#如果master中含有leader、node1和node2中含有follower,說明zk啟動成功
zkServer.sh status
2、啟動kafka
#kafka是去中心化的架構,需要在每臺節點啟動
# -daemon 後臺啟動
kafka-server-start.sh -daemon /usr/local/soft/kafka_2.11-1.0.0/config/server.properties
#啟動之後,jps檢視程序,程序中會有Kafka
三、測試kafka
1、建立topic
# --replication-factor ---指定每一個分割槽的副本數量
# --partition --指定分割槽數,根據資料量設定
# --topic test_topic2 --指定topic的名稱
kafka-topics.sh --create --zookeeper master:2181,node1:2181,node2:2181 --replication-factor 3 --partitions 3 --topic test_topic2
2、檢視topic描述資訊
kafka-topics.sh --describe --zookeeper master:2181,node1:2181,node2:2181 --topic test_topic2
#結果
Topic:test_topic2 PartitionCount:3 ReplicationFactor:3 Configs:
Topic: test_topic2 Partition: 0 Leader: 1 Replicas: 1,2,0 Isr: 1,2,0
Topic: test_topic2 Partition: 1 Leader: 2 Replicas: 2,0,1 Isr: 2,0,1
Topic: test_topic2 Partition: 2 Leader: 0 Replicas: 0,1,2 Isr: 0,1,2
3、檢視所有的topic
kafka-topics.sh --list --zookeeper master:2181,node1:2181,node2:2181
4、建立控制檯生產者
kafka-console-producer.sh --broker-list master:9092,node1:9092,node2:9092 --topic test_topic2
# 返回一個符號,就可以輸入資料了
> 輸入資料
# 生產的資料在 /usr/local/soft/kafka_2.11-1.0.0/data
5、建立控制檯消費者
# --from-beginning 從頭消費,如果不在執行消費的新的資料
# 將該命令換一個節點執行,便於觀看生產與消費
kafka-console-consumer.sh --bootstrap-server master:9092,node1:9092,node2:9092 --from-beginning --topic test_topic2
#一邊生產一邊消費,實時對應
四、如果kafka出問題了,那麼就重置kafka
1、關閉kafka
kill -9
2、刪除元資料 zk
zkCli.sh
# 刪除預kafka有關的所有資訊
ls /
rmr /config
rmr /brokers
3、刪除kafka的資料 所有節點都要刪除
rm -rf /usr/local/soft/kafka_2.11-1.0.0/data
4 重啟
kafka-server-start.sh -daemon /usr/local/soft/kafka_2.11-1.0.0/config/server.properties