Kafka入门:常用开发、运维命令(kafka0.10.x)

如果您觉得“大数据开发运维架构”对你有帮助,欢迎转发朋友圈


概述:

下面是开发和项目运维实战过程中总结的一些kafka常用的命令,已在kafka0.10.x环境进行了测试验证。

常用命令:

1.查看帮助

<code>/usr/hdp/2.6.3.0-235/kafka/bin/kafka-topics.sh  --help/<code>

2.查看当前集群所有topic

<code>./kafka-topics.sh  --zookeeper salver31.hadoop.unicom:2181 --list /<code>

3.查看topic详细信息 (kafkawordcount)

<code>./kafka-topics.sh  --zookeeper salver31.hadoop.unicom:2181 -describe -topic kafkawordcount/<code>

4.查看kafka集群详细信息

<code>./kafka-topics.sh  -zookeeper  salver31.hadoop.unicom:2181 --describe/<code>

5.新建topic

<code>./kafka-topics.sh --zookeeper salver31.hadoop.unicom:2181 --create --topic topic001       --partitions 1 --replication-factor 1 --config max.message.bytes=64000 --config flush.messages=1/<code>
Kafka入门:常用开发、运维命令(kafka0.10.x)

注:

与主题相关的配置默认使用全局缺省值,也可通过--config key=value的形式对全局缺省值进行覆盖。上面的topic1自定义了最大消息大小和刷新速度。


6.修改topic配置:


可以使用alter topic命令更改或设置覆盖。

更新分区数:

<code>./kafka-topics.sh --zookeeper salver31.hadoop.unicom:2181 --alter --topic topic001 --partitions 2/<code>

更新my-topic的最大消息大小:

<code>./kafka-topics.sh --zookeeper salver31.hadoop.unicom:2181 --alter --topic topic001 --config max.message.bytes=128000/<code>

删除自定义配置(删除自定义最大消息字节数):

<code>./kafka-topics.sh --zookeeper salver31.hadoop.unicom:2181 --alter --topic topic001 --delete-config max.message.bytes/<code>


7.查看topic各个分区消息的数据量:

<code> ./kafka-run-class.sh  kafka.tools.GetOffsetShell --broker-list salver31.hadoop.unicom:6667,salver32.hadoop.unicom:6667 --topic kafkawordcount --time -1/<code>


8.查看log日志消息内容:

<code>./kafka-run-class.sh kafka.tools.DumpLogSegments --files  /kafka-logs/kafkawordcount-0/00000000000000000000.log --print-data-lo/<code>

9.Producer发送消息:

<code>./kafka-console-producer.sh --broker-list salver31.hadoop.unicom:6667,salver32.hadoop.unicom:6667  --topic topic001/<code>

10.Consumer接收消息:

<code>./kafka-console-consumer.sh --bootstrap-server salver31.hadoop.unicom:6667,salver32.hadoop.unicom:6667 --from-beginning --topic kafkawordcount/<code>

接收消息,三个常用参数:

consumer-property 参数以键值对的形式指定消费者级别的配置。

from-beginning 设置消息起始位置开始消费。默认是从新位置 latest开始消费

delete-consumer-offsets 删除在zookeeper中记录已消费的偏移量

带参数Consumer接收消息:

<code>./kafka-console-consumer.sh --bootstrap-server salver31.hadoop.unicom:6667,salver32.hadoop.unicom:6667 --topic kafkawordcount --consumer-property group.id=consumerGroup1 --consumer-property consumer.id=consumerId1 --from-beginning --delete-consumer-offsets/<code>

11.查看topic某个消费组对应的offset:

<code> ./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --topic kafkawordcount --zookeeper localhost:2181 --group  consumerGroup1/<code>

12.查看topic最大offset:

<code>/usr/hdp/2.6.3.0-235/kafka/bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list salver31.hadoop.unicom:6667,salver32.hadoop.unicom:6667 --topic test511 --time -2/<code>

查看最小offset

<code>/usr/hdp/2.6.3.0-235/kafka/bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list salver31.hadoop.unicom:6667,salver32.hadoop.unicom:6667 --topic test511 --time -1/<code>

.删除topic

<code>./kafka-topics.sh --zookeeper salver31.hadoop.unicom:2181 --delete --topic topic001/<code> 

注意:

这里删除topic并没有真正删除,只是给topic标记为"deleted",如果需要彻底删除topic,请参考kafka进阶中的文章:“kafka进阶:如何彻底删除topic及数据”。


分享到:


相關文章: