Kafka常用操作命令
Kafka 从 2.2 版本开始将 kafka-topic.sh 脚本中的 −−zookeeper 参数标注为 “过时”,推荐使用 −−bootstrap-server 参数。若读者依旧使用的是 2.1 及以下版本,请将下述的 --bootstrap-server 参数及其值手动替换为 --zookeeper zk1:2181,zk2:2181,zk:2181。一定要注意两者参数值所指向的集群地址是不同的。
启动Kafka
kafka-server-start.sh -daemon /opt/app/kafka_2.12-2.2.2/config/server.properties
查看当前服务器中的所有topic
kafka-topics.sh --list --bootstrap-server master:9092,hadoop01:9092,hadoop02:9092
创建topic
kafka-topics.sh --create --bootstrap-server master:9092,hadoop01:9092,hadoop02:9092 --replication-factor 1 --partitions 1 --topic app_Flink_log
删除topic
kafka-topics.sh --delete --bootstrap-server master:9092,hadoop01:9092,hadoop02:9092 --topic app_Flink_log
需要server.properties中设置delete.topic.enable=true否则只是标记删除或者直接重启。
Kafka 从 2.2 版本开始将 kafka-topic.sh 脚本中的 −−zookeeper 参数标注为 “过时”,推荐使用 −−bootstrap-server 参数。若读者依旧使用的是 2.1 及以下版本,请将下述的 --bootstrap-server 参数及其值手动替换为 --zookeeper zk1:2181,zk2:2181,zk:2181。一定要注意两者参数值所指向的集群地址是不同的。
通过shell命令发送消息
kafka-console-producer.sh --broker-list master:9092,hadoop01:9092,hadoop02:9092 --topic app_Flink_log
通过shell消费消息
kafka-console-consumer.sh --bootstrap-server master:9092,hadoop01:9092,hadoop02:9092 --from-beginning --topic app_Flink_log
2.1之前
kafka-console-consumer.sh --bootstrap-server master:9092,hadoop01:9092,hadoop02:9092 --from-beginning --topic app_Flink_log
2.2以后
表示从 laapp_Flink_log 位移位置开始消费该主题的所有分区消息,即仅消费正在写入的消息。
从开始位置消费
kafka-console-consumer.sh --bootstrap-server master:9092,hadoop01:9092,hadoop02:9092 --from-beginning --topic topicName
表示从指定主题中有效的起始位移位置开始消费所有分区的消息。
显示key消费
kafka-console-consumer.sh --bootstrap-server master:9092,hadoop01:9092,hadoop02:9092 --property print.key=true --topic topicName
消费出的消息结果将打印出消息体的 key 和 value
查看消费位置
kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --bootstrap-server master:9092,hadoop01:9092,hadoop02:9092 --group app_Flink_logGroup
查看某个Topic的详情
kafka-topics.sh --topic app_Flink_log --describe --bootstrap-server master:9092,hadoop01:9092,hadoop02:9092
对分区数进行修改
kafka-top