kafka-topic
創(chuàng)建主題?
2.3版本創(chuàng)建命令
kafka-topics --bootstrap-server?localhost:9092?--create? --topic xxxtopic --partitions 1 --replication-factor 1
0.10.2.1版本創(chuàng)建命令
./kafka-topics.sh --zookeeper 127.0.0.1:2181 --create? --topic xxxtopic --partitions 1 --replication-factor 3
0.10.2.1版本創(chuàng)建命令,并指明分區(qū)及副本所在的broker上
(下面示例代表焦除,有兩個(gè)分區(qū)激况,每個(gè)分區(qū)有四個(gè)副本,第一個(gè)分區(qū)副本在4膘魄,5乌逐,6,7broker上创葡,第二個(gè)分區(qū)在?1浙踢,2,3灿渴,4broker上)
kafka-topics.sh --zookeeper xxx.xxx.xxx.xxx:2181 --create? --topic xxxtopic? --replica-assignment 4:5:6:7 1:2:3:4
查看所有主題lead副本分布情況成黄,AR 集合呐芥,ISR 集合
2.3版本查看命令
kafka-topics --bootstrap-server?localhost:9092?--describe --topic topicName1,topicName2
0.10.2.1版本查看命令
./kafka-topics.sh --zookeeper 127.0.0.1:2181 --describe --topic xxxtopic
查看所有包含覆蓋配置的主題
kafka-topics --bootstrap-server?localhost:9092?--describe --topics-with-overrides? 如果需要查看某一個(gè)主題或者多個(gè)主題加上 --topic topicName1,topicName2
找出所有包含失效副本的主題以及分區(qū),即分區(qū)的 ISR 集合元素?cái)?shù)量小于 AR 集合元素?cái)?shù)量
kafka-topics --bootstrap-server?localhost:9092?--describe --under-replicated-partitions 如果需要查看某一個(gè)主題或者多個(gè)主題加上 --topic topicName1,topicName2
找出所有l(wèi)eader副本不可用的主題以及分區(qū)
kafka-topics --bootstrap-server?localhost:9092?--describe --unavailable-partitions 如果需要查看某一個(gè)主題或者多個(gè)主題加上 --topic topicName1,topicName2
kafka-console-consumer
查看kafka 位移主題消息
kafka-console-consumer --bootstrap-server?localhost:9092?--topic __consumer_offsets --from-beginning --formatter 'kafka.coordinator.group.GroupMetadataManager$OffsetsMessageFormatter'
kafka-consumer-groups
查看所有的消費(fèi)者組
kafka-consumer-groups --bootstrap-server localhost:9092 --list
查看消費(fèi)者組信息奋岁,包括LAG等
kafka-consumer-groups.sh --bootstrap-server xxx.xxx.xxx.xxx:9092 --describe --group xxxtopic
查看消費(fèi)組狀態(tài)信息?
kafka-consumer-groups --bootstrap-server localhost:9092 --describe --group testConsumerGroup1 --state
查看消費(fèi)組內(nèi)的消費(fèi)者成員信息
kafka-consumer-groups --bootstrap-server localhost:9092 --describe --group testConsumerGroup1 --members
查看消費(fèi)組內(nèi)的消費(fèi)者成員信息,以及每個(gè)消費(fèi)者成員的分配情況
kafka-consumer-groups --bootstrap-server localhost:9092 --describe --group testConsumerGroup1 --members --verbose
kafka-run-class
查看日志信息
kafka-run-class kafka.tools.DumpLogSegments --files 00000000000000000000.log?如果需要輸出消息內(nèi)容加上?--print-data-log 選項(xiàng)
查看JMX數(shù)據(jù)指標(biāo)
kafka-run-class kafka.tools.JmxTool --object-name kafka.utils:type=Throttler,name=cleaner-io --jmx-url service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi?--date-format "YYYY-MM-dd HH:mm:ss" --attributes Count --reporting-interval 1000
--attributes 指定要查詢的JMX屬性名稱
--date-format 顯示的日期格式
--jmx-url 指定要鏈接的JMX接口
--object-name 指定要查詢的JMX MBean 名稱
--reporting-interval 指定實(shí)時(shí)查詢的時(shí)間間隔荸百,時(shí)間單位 毫秒闻伶,默認(rèn)每2秒查詢一次
kafka-dump-log(kafka 2.0.0 版本開始才有此shell腳本)
查看日志信息
kafka-dump-log --files 00000000000000000000.log 如果需要輸出消息內(nèi)容加上?--print-data-log 選項(xiàng)
修改topic分區(qū)的副本系數(shù)
0.10.2.1版本命令
kafka-reassign-partitions.sh?--zookeeper xxxxx:2181 -reassignment-json-file partitions-to-move.json -execute
partitions-to-move.json 文件內(nèi)容如下
{
? "version": 1,
? "partitions": [
? ? {
? ? ? "topic": "xxxtopic",// topic
? ? ? "partition": 0, // 分區(qū)編號
? ? ? "replicas": [ // 新副本需要分布到哪些 broker,1够话、2蓝翰、3 表示 broker id
? ? ? ? 1,
? ? ? ? 2,
? ? ? ? 3
? ? ? ]
? ? }
? ]
}
分區(qū)重分配獲取分區(qū)分配方案
kafka-reassign-partitions.sh --zookeeper localhost:2181 --topics-to-move-json-file kafkaReassign.json --broker-list 1,2,3 --generate
kafkaReassign.json 文件內(nèi)容格式如下
{
? "topics": [
? ? {
? ? ? "topic": "xxxtopic" // topic 的名字
? ? }
? ],
? "version": 1
}
執(zhí)行命令后結(jié)果如下
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
Current partition replica assignment(當(dāng)前分區(qū)分布情況)
{"version":1,"partitions":[{"topic":"xxxtopic","partition":3(分區(qū)id),"replicas":[2(brokerId)]},{"topic":"xxxtopic","partition":4,"replicas":[3]},{"topic":"xxxtopic","partition":2,"replicas":[1]},{"topic":"xxxtopic","partition":1,"replicas":[3]},{"topic":"xxxtopic","partition":0,"replicas":[2]},{"topic":"xxxtopic","partition":5,"replicas":[1]}]}
Proposed partition reassignment configuration(生成的分區(qū)分配方案)
{"version":1,"partitions":[{"topic":"xxxtopic","partition":4(分區(qū)id),"replicas":[3(brokerId)]},{"topic":"xxxtopic","partition":3,"replicas":[2]},{"topic":"xxxtopic","partition":2,"replicas":[3]},{"topic":"xxxtopic","partition":1,"replicas":[2]},{"topic":"xxxtopic","partition":0,"replicas":[3]},{"topic":"xxxtopic","partition":5,"replicas":[2]}]}