基於0.8.0版本。
##檢視topic分布情況
kafka-list-topic.sh
bin/kafka-list-topic.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181
(列出所有topic的分割槽情況)
bin/kafka-list-topic.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --topic test (檢視test的分割槽情況)
其實kafka-list-topic.sh裡面就一句
exec $(dirname $0)/kafka-run-class.sh kafka.admin.listtopiccommand $@
實際是通過
kafka-run-class.sh指令碼執行的包kafka.admin下面的類
##建立topic kafka
-create-topic.sh
bin/ kafka
-create-topic.sh
--replica 2 --partition 8 --topic test
--zookeeper
192.168.197.170:2181,192.168.197.171:2181
建立名為test的topic, 8個分割槽分別存放資料,資料備份總共2份
bin/ kafka
-create-topic.sh
--replica 1 --partition 1 --topic test2
--zookeeper
192.168.197.170:2181,192.168.197.171:2181
結果 topic: test2 partition: 0 leader: 170 replicas: 170 isr: 170
##重新分配分割槽
kafka-reassign-partitions.sh
這個命令可以分割槽指定到想要的--broker-list上
bin/kafka-reassign-partitions.sh --topics-to-move-json-file topics-to-move.json --broker-list "171" --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --execute
cat topic-to-move.json
],"version":1
##為topic增加 partition數目
bin/kafka-add-partitions.sh --topic test --partition 2 --zookeeper
192.168.197.170:2181,192.168.197.171:2181 (為topic test增加2個分割槽)
##控制台接收訊息
bin/ kafka
-console-consumer.sh --zookeeper
192.168.197.170:2181,192.168.197.171:2181 --from-beginning --topic test
##控制台傳送訊息
bin/kafka-console-producer.sh --broker-list 192.168.197.170:9092,192.168.197.171: 9092
--topic test
##刪除topic,慎用,只會刪除zookeeper中的元資料,訊息檔案須手動刪除
bin/kafka-run-class.sh kafka.admin.deletetopiccommand --topic test666 --zookeeper 192.168.197.170:2181 ,192.168.197.171:2181
##檢視topic分布情況
kafka-list-topic.sh
bin/kafka-list-topic.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181
(列出所有topic的分割槽情況)
bin/kafka-list-topic.sh --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --topic test (檢視test的分割槽情況)
其實kafka-list-topic.sh裡面就一句
exec $(dirname $0)/kafka-run-class.sh kafka.admin.listtopiccommand $@
實際是通過
kafka-run-class.sh指令碼執行的包kafka.admin下面的類
##建立topic kafka
-create-topic.sh
bin/ kafka
-create-topic.sh
--replica 3 --partition 8 --topic test
--zookeeper
192.168.197.170:2181,192.168.197.171:2181
建立名為test的topic, 8個分割槽分別存放資料,資料備份總共3份
bin/ kafka
-create-topic.sh
--replica 1 --partition 1 --topic test2
--zookeeper
192.168.197.170:2181,192.168.197.171:2181
結果 topic: test2 partition: 0 leader: 170 replicas: 170 isr: 170
##重新分配分割槽
kafka-reassign-partitions.sh
這個命令可以分割槽指定到想要的--broker-list上
bin/kafka-reassign-partitions.sh --topics-to-move-json-file topics-to-move.json --broker-list "171" --zookeeper 192.168.197.170:2181,192.168.197.171:2181 --execute
cat topic-to-move.json
],"version":1
##為topic增加 partition數
目kafka-add-partitions.sh
bin/kafka-add-partitions.sh --topic test --partition 2 --zookeeper
192.168.197.170:2181,192.168.197.171:2181 (為topic test增加2個分割槽)
##控制台接收訊息
bin/ kafka
-console-consumer.sh --zookeeper
192.168.197.170:2181,192.168.197.171:2181 --from-beginning --topic test
##控制台傳送訊息
bin/kafka-console-producer.sh --broker-list 192.168.197.170:9092,192.168.197.171: 9092
--topic test
##刪除topic,慎用,只會刪除zookeeper中的元資料,訊息檔案須手動刪除
bin/kafka-run-class.sh kafka.admin.deletetopiccommand --topic test666 --zookeeper 192.168.197.170:2181 ,192.168.197.171:2181
kafka 指令碼傳送 kafka的相關操作指令碼
總結最近用到的kafka相關命令和指令碼。1 建立topic kafka topics.sh zookeeper cc13 141 2182 topic mytopic replication factor 1 partitions 1 create 2 topic列表 kafka topics.s...
Kafka 訊息傳送
建立乙個kafkaprodecer物件,傳入上面建立的properties物件 kafkaproducerproducer new kafkaproducer mykafkaprops 使用prodecerrecord string topic,string key,string value 建構函...
kafka訊息傳送模式
在kafka 0.8.2之後,producer不再區分同步 sync 和非同步方式 async 所有的請求以非同步方式傳送,這樣提公升了客戶端效率。producer請求會返回乙個應答物件,包括偏移量或者錯誤信。這種非同步方地批量的傳送訊息到kafka broker節點,因而可以減少server端資源...