Ubuntu安裝部署Kafka
阿新 • • 發佈:2020-11-06
Ubuntu安裝部署Kafka
環境: Ubuntu 18.04.4 LTS ,JDK1.8,kafka_2.12-2.3.1
確保已經安裝了JDK,JDK安裝過程不再贅述。可參考文章xxxx
一、下載二進位制安裝包
1.1 官網地址:https://kafka.apache.org/downloads
1.2 國內映象地址:https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.3.1/
二、安裝
2.1 上傳二進位制安裝包到伺服器/usr/local
目錄下並解壓
##進入/usr/local目錄 # cd /usr/local ##解壓 # tar xvf kafka_2.12-2.3.1.tgz ##建立軟連結 # ln -sv kafka_2.12-2.3.1 kafka
2.2 建立kafka的日誌目錄
# cd /usr/local/kafka
# mkdir logs
2.3 修改配置檔案 server.properties
# vim /usr/local/kafka/config/server.properties
修改broker.id的值為1,因為kafka一般線上均為叢集部署,所以每個單機有自己的id,本次測試只是單機所以隨意設定為1
指定kafka的日誌檔案目錄為2.2所建立的目錄
2.4 啟動zookeeper
zookeeper可以自己搭建,參考文章xxx。這裡我使用kafka自帶的zk
# cd /usr/loacl/kafka/ # ./bin/zookeeper-server-start.sh -daemon config/zookeeper.properties # jps
檢查一下是否啟動成功,QuorumPeerMain表示啟動成功
2.5 啟動kafka
# cd /usr/loacl/kafka/
# ./bin/kafka-server-start.sh -daemon config/server.properties
檢查一下啟動是否成功,kafka佔用埠為9092,zookeeper佔用埠2181
三、驗證
3.1 建立topic
指定zookeeper的地址、埠,副本個數為1(因為我只是單機一個broker) 分割槽數1 和topic名稱test
# cd /usr/local/kafka # bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
3.2 檢視top列表
# cd /usr/local/kafka
# bin/kafka-topics.sh --list --zookeeper localhost:2181
3.3 啟動生產者
--broker-list 指定broker叢集的埠 多個重甲你用都好隔開 ,--topic指定具體的topic
# cd /usr/local/kafka
# bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
3.4 啟動消費者
另開一個終端,啟動消費者。指定broker叢集的埠 和具體的topic --from-beginning代表從頭開始讀取訊息
# cd /usr/local/kafka
# bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
最終效果
四、命令總結
#啟動zookeeper
# bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
#啟動kafka伺服器
# bin/kafka-server-start.sh config/server.properties
#建立topic
# bin/kafka-topics.sh --create --zookeeper localhost:2181 --repication-factor 1 --partitions 1 --topic test
#檢視topic列表
bin/kafka-topics.sh --list --zookeeper localhost:2181
啟動生產者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
啟動消費者
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning