1. 程式人生 > >Kafka單機環境的部署

Kafka單機環境的部署

part localhost dev hup ons height factor .tar.gz ip地址

前面說過Kafka集群環境的部署,現在主要說一下在本地測試中Kafka單機環境的部署,和前面一樣首先保證zookeeper服務的正常運行,然後解壓並釋放kafka安裝包,並放到指定位置:

tar -xvzf kafka_2.9.2-0.8.2.2.tar.gz
mkdir /usr/kafka
mv kafka_2.9.2-0.8.2.2 /usr/kafka/
cd /usr/kafka/kafka_2.9.2-0.8.2.2

  現在開始編輯配置文件server.properties,執行命令: vim config/server.properties 打開配置文件

  首先去掉#host.name=localhost前面的註釋,這個開發過程中可以填寫集群主機名或者IP地址,有很多錯誤就是因為這裏被註釋導致的,建議單機環境一定去掉註釋根據情況配置;集群中一般根據zookeeper.connect識別,所以此項可以配置也可以忽略

  技術分享

  然後之前集群部署中曾經修改過borker.id,port這裏不用動,都是默認即可,修改一下log.dirs放到/usr/kafka/logs目錄中,這個可以自己指定

  技術分享

  logs目錄我們後來需要手動創建,然後log.cleaner.enable要改為true,表示自動清理日誌

  技術分享

  然後修改zookeeper.connect為localhost:2181/kafka,默認是localhost:2181,這樣會在zookeeper上直接創建kafka對應文件,這裏加上/kafka和之前一樣,表示在zookeeper上創建kafka節點,把kafka相關文件都放在localhost:2181/kafka節點下

  技術分享

  到現在,基本的配置就完成了,現在保存並退出配置文件

  然後創建logs日誌目錄: mkdir /usr/kafka/logs ,創建目錄之後,開始啟動kafka服務:

nohup bin/kafka-server-start.sh config/server.properties >> /dev/null &

  上面代碼hohup代表把任務放到後臺作為服務運行,有些腳本不像之前的二進制程序一樣可以一直跑在服務器上,雖然後面加上&表示在後臺運行,但是一段時間後可能會退出,nohup可以讓程序一直跑在後臺,輸入以上命令後命令行會卡住,然後需要再次輸入一次回車回到命令行,另外我們退出shell時必須使用logout退出,切不可直接關閉窗口,否則程序也可能異常退出

  然後創建一個消息隊列:

bin/kafka-topics.sh --create --replication-factor 1 --partitions 1 --topic test --zookeeper localhost:2181/kafka

  創建隊列的時候,replication-factor只能是1個,因為是單節點,而partitions分區可以是1個或者2個都可以,測試環境建議是1個即可

  然後,創建一個消費者:

bin/kafka-console-consumer.sh --zookeeper localhost:2181/kafka --topic test

  此時,命令行會進入運行狀態,界面就卡住不動了,然後再新建一個窗口,進入kafka目錄,繼續創建一個生產者:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

  同樣這個時候命令行進入運行狀態,我們輸入一個字符串:Hello Kafka!

  技術分享

  此時打開剛才創建消費者的窗口,會看到剛才的輸入消息被消費了

  技術分享

  到現在,Kafka單機消息隊列基本的配置和運行都是正常的,單機環境配置基本上就是這些

Kafka單機環境的部署