單機Kafka部署文檔
最簡單的使用方式,單機,使用自帶的zookeeper
1.解壓
tar –zxvf kafka_2.10-0.10.0.1.tgz
2.修改配置
vim config/server.properties
修改項如下(有則修改,無則添加):
host.name=你的ip
listeners=PLAINTEXT://你的ip:9092
advertised.listeners=PLAINTEXT://你的ip:9092
zookeeper.connect=你的ip:2181
3.啟動 (nohub 和 最后的 &都是為了后台啟動,避免ctrl+c 或者關閉鏈接而kill)
啟動zookeeper:nohup bin/zookeeper-server-start.sh config/zookeeper.properties 1>zookeeper.log 2>zookeeper.err &
啟動kafka:nohup bin/kafka-server-start.sh config/server.properties &
4.創建topic 並查看
創建topic:bin/kafka-topics.sh --create --topic test --replication-factor 1 --partitions 1 --zookeeper Slave1:2181
查看list:bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --list
5.驗證(收發消息)
發:bin/kafka-console-producer.sh --broker-list 你的IP:9092 –topic test
收:bin/kafka-console-consumer.sh --zookeeper 127.0.0.1:2181 --from-beginning --topic test
6.可能存在的問題
啟動失敗
- 報錯說沒有log.dirs=/tmp/kafka-logs,這個目錄沒有寫權限,這時就得ll檢查一下權限了,比如我用root安裝,用work啟動,就會遇到此問題
- 收不到消息:連不上zookeeper,但是zookeeper進程在,可能是因為 步驟2 沒有修改IP,原因是kafk會自動獲取,可能會獲取出錯。
- 假死:進程在,但是無法使用,或者調用 bin/zookeeper-server-stop.sh 和bin/kafka-server-stop.sh后進程依然在,就ps –ef | grep kafka , ps –ef | grep zookeeper手動kill -9 一下