1. 程式人生 > 其它 >(2)Kafka的搭建、啟動、測試

(2)Kafka的搭建、啟動、測試

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