1.安裝環境
- 本文所安裝的Kafka爲2.50版本,Linux系統版本爲CentOS 7.4,使用Zookeeper是Kafka自帶的。Kafka是依賴Java環境運行,所以需要在Linux系統內安裝Java環境。
- kafka官網地址:http://kafka.apache.org/
2.kafka安裝
下載kafka安裝包
- yum -y install wget----------------------------(未安裝wget請先安裝)
- wget https://mirror.bit.edu.cn/apache/kafka/2.5.0/kafka_2.13-2.5.0.tgz
解壓kafka
- tar -zxvf kafka_2.13-2.5.0.tgz
進入配置目錄
- cd kafka_2.13-2.5.0/config/
修改配置文件server.properties,添加下面內容
- vim server.properties
broker.id=0 port=9092 #端口號 host.name=172.30.0.9 #服務器IP地址,修改爲自己的服務器IP log.dirs=/usr/local/logs/kafka #日誌存放路徑,上面創建的目錄 zookeeper.connect=localhost:2181 #zookeeper地址和端口,單機配置部署,localhost:2181
修改kafka的啓動腳本(PS:不然機器內存小會報內存不足)
- vim kafka-server-start.sh
- export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"
編寫zookeeper啓動腳本
- vim zookeeper_start.sh
# 啓動zookeeper /home/kafka/kafka_2.13-2.5.0/bin/zookeeper-server-start.sh /home/kafka/kafka_2.13-2.5.0/config/zookeeper.properties &
編寫kafka啓動腳本
- vim kafka_start.sh
# 啓動kafaka /home/kafka/kafka_2.13-2.5.0/bin/kafka-server-start.sh /home/kafka/kafka_2.13-2.5.0/config/server.properties &
編寫zookeeper停止腳本
- vim zookeeper_stop.sh
# 停止zookeeper /home/kafka/kafka_2.13-2.5.0/bin/zookeeper-server-stop.sh /home/kafka/kafka_2.13-2.5.0/config/zookeeper.properties &
編寫kafka停止腳本
- vim kafka_stop.sh
# 停止kafka /home/kafka/kafka_2.13-2.5.0/bin/kafka-server-stop.sh /home/kafka/kafka_2.13-2.5.0/config/server.properties &
啓動關閉腳本賦予權限
- chmod 777 kafka_start.sh
- chmod 777 kafka_stop.sh
- chmod 777 zookeeper_start.sh
- chmod 777 zookeeper_stop.sh
先啓動zookeeper在啓動kafka
- ./zookeeper_start.sh---------------------------------------------啓動zookeeper
- ./kafka_start.sh----------------------------------------------------啓動kafka
- ps -ef | grep zookeeper------------------------------------------查看zookeeper進程狀態
- ps -ef | grep kafka-------------------------------------------------查看kafka進程狀態
若出現kafka.common.InconsistentClusterIdException: The Cluster ID MoJxXReIRgeVz8GaoglyXw doesn't match stored clusterId Some(t4eUcr1HTVC_VjB6h-vjyA) in meta.properties異常解決方法
意思是集羣id跟元數據meta.properties中存儲的不一致,導致啓動失敗。因此去查看meta.properties文件中的元數據信息。這個文件的存儲路徑是通過/config/server.properties配置文件中的log.dirs屬性配置的。所以通過配置文件找到meta.properties,修改裏面的cluster.id即可。
將異常信息中的Cluster ID MoJxXReIRgeVz8GaoglyXw寫入
3.測試:
重新打開一個終端,創建一個主題
- bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test(創建)
- bin/kafka-topics.sh --list --zookeeper localhost:2181(查看創建的主題列表)
啓動生產者(發送消息)
- bin/kafka-console-producer.sh --broker-list 172.19.2.198:9092 --topic test
重新打開一個終端,啓動消費者(接收消息)
- bin/kafka-console-consumer.sh --bootstrap-server 172.19.2.198:9092 --topic test --from-beginning