kafka的安裝:
- 下載 kafka的安裝文件舵变。
- linux下解壓:tar -zxvf ./kafka_2.11-0.10.0.1.tgz,將集成的幾臺(tái)機(jī)器都copy上已解壓文件。
-
分別 配置kafka解壓文件夾下的/config/server.properties文件的幾個(gè)主要配置:
broker.id(標(biāo)示當(dāng)前server在集群中的id,從0開(kāi)始)马胧,port,host.name(當(dāng)前的server host name)衔峰,zookeeper.connect(連接的zookeeper集群)佩脊,log.dirs(log的存儲(chǔ)目錄,記得對(duì)應(yīng)的去建立這個(gè)目錄)等垫卤。
注意:broker.id不能重復(fù)威彰,并且可以是從0開(kāi)始。
啟動(dòng)kafka及相關(guān)操作
在啟動(dòng)kafka的時(shí)候需要先啟動(dòng)zookeeper服務(wù)穴肘,雖然kafka的包里面已經(jīng)包含了zookeeper但是這里還是建議單獨(dú)安裝zookeeper集群這樣方便其他應(yīng)用公用zookeeper應(yīng)用歇盼。
- 啟動(dòng):nohup ./bin/kafka-server-start.sh ./config/server.properties >/dev/null 2>&1 &
- 創(chuàng)建topic:./bin/kafka-topics.sh --create --zookeeper zk-1:2181,zk-2:2181,zk-3:2181 --replication 2 --partitions 2 --topic test
- 查看topic: ./bin/kafka-topics.sh --list --zookeeper zk-1:2181,zk-2:2181,zk-3:2181
- 插入數(shù)據(jù):./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
- 獲取數(shù)據(jù): ./bin/kafka-console-consumer.sh --zookeeper zk-1:2181,zk-2:2181,zk-3:2181 --topic test --from-beginning
- 獲取topic詳情:./bin/kafka-topics.sh --describe --zookeeper zk-1:2181,zk-2:2181,zk-3:2181 --topic test
- 刪除:./bin/kafka-topics.sh --zookeeper zk-1:2181,zk-2:2181,zk-3:2181 --topic test --delete
刪除的時(shí)候容易出現(xiàn)如下信息:
$ ./bin/kafka-topics.sh --zookeeper zk-1:2181,zk-2:2181,zk-3:2181 --topic test --delete
Topic test is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.
$ ./bin/kafka-topics.sh --list --zookeeper zk-1:2181,zk-2:2181,zk-3:2181
test - marked for deletion
并沒(méi)有真正刪除,如果要真正刪除配置 delete.topic.enable=true重啟kafka
$ ./bin/kafka-topics.sh --delete --topic test --zookeeper zk-1:2181,zk-2:2181,zk-3:2181
Topic test is already marked for deletion.
$ ./bin/kafka-topics.sh --list --zookeeper zk-1:2181,zk-2:2181,zk-3:2181
test - marked for deletion
此時(shí)在刪除kafka的./config/server.properties中設(shè)置的log.dirs路徑下刪除對(duì)應(yīng)的test-* 文件即可:
kafka可視化監(jiān)控(KafkaOffsetMonitor)的搭建
- 下載 KafkaOffsetMonitor 的安裝文件评抚。
- 在linux上創(chuàng)建路徑kafka-console豹缀,將下載的jar包拷貝過(guò)去。
- 創(chuàng)建可執(zhí)行文件start.sh慨代,里面的內(nèi)容如下:
<pre>#!/bin/sh
java -cp KafkaOffsetMonitor-assembly-0.2.0.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --zk zk-1:2181,zk-2:2181,zk-3:2181 --port 8089 --refresh 5.minutes --retain 1.day 1>logs/stdout.log 2>logs/stderr.log &</pre> - 給start.sh文件賦權(quán)限 $ chmod 775 ./start.sh邢笙。
- 啟動(dòng)服務(wù): $ ./start.sh。
在瀏覽器上輸入:http://IP:8089 得到如下圖展示信息: