【1】消费topic数据
# ip:port是kafka服务的ip和端口号
./kafka-console-consumer.sh --bootstrap-server ip:port --topic topic_name
示例:
./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic test_topic
执行后,监听即时数据,如果有数据产生,会打印在界面上。
【2】推送消息到指定topic
可用以推送测试数据。
# ip:port是kafka服务的ip和端口号
./kafka-console-producer.sh --broker-list ip:port --topic topic_name
示例:
./kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic test_topic
执行后,可在新出现的输入框中输入消息并回车发送。
>{“name”:“zhangshan”}
>
【3】查看组消费情况
用以查看某个group消费情况,如果剩余数据较多,可能是消费速度慢,产生了堆积。
# ip:port是kafka服务的ip和端口号
./kafka-consumer-groups.sh --bootstrap-server ip:port --describe --group group_id
示例:
./kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --describe --group test_group
【4】查看topic列表
查看环境上存在的topic
# ip:port是zookeeper服务的ip和端口号
./kafka-topics.sh --zookeeper ip:port --list
示例:
./kafka-topics.sh --zookeeper 127.0.0.1:2181 --list
【5】创建topic
# ip:port是zookeeper服务的ip和端口号
./kafka-topics.sh --create --zookeeper ip:port --replication-factor replication_count --partitions partition_count -- topic topic_name
示例:
./kafka-topics.sh --create --zookeeper ip:port --replication-factor 1 --partitions 10 -- topic test_topic
–replication-factor 设置副本数量,不能超过broker数量,broker概念有点像集群的节点。
–partitions 设置分区,分区会均匀分布到各个broker上,增加分区能一定程度提高吞吐量,但也不宜过多,太多反而I/O开销大。
【6】查询分区详情
# ip:port是zookeeper服务的ip和端口号
./kafka-topics.sh --zookeeper ip:port --describe --topic topic_name
示例:
./kafka-topics.sh --zookeeper 127.0.0.1:2181 --describe --topic test_topic
【7】若环境上kafka是用k8s管理的pod微服务
# pod外执行命令
kubectl exec -it kafka_pod_name -- /install_package/kafka-xx.sh --params xx
示例:
kubectl exec -it kafka-0 -- /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server kafka-hs:9093 --topic test_topic