Kafka常用的命令

创建和删除topic
官方文档

#创建topic
bin/kafka-topics.sh --bootstrap-server broker_host:port --create --topic my_topic_name --partitions 20 --replication-factor 3 --config x=y
#修改topic及副本数量
bin/kafka-topics.sh --bootstrap-server broker_host:port --alter --topic my_topic_name \
        --partitions 40
# 删除topic
bin/kafka-topics.sh --bootstrap-server broker_host:port --delete --topic my_topic_name
#修改文件存储时间
bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic my_topic_name --config retenation.ms=3600000(毫秒)

启动Kafka

先启动zookeeper,然后启动Kafka-server

停止kafka

停止Kafka服务使用ctrl+c打断即可。

顺序:先停消费者,再停生产者,先停kafka服务,再停zookeeper

生产者写数据到TOPIC

bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092

然后在控制台中输入要写入topic的数据。

消费者从TOPIC消费数据

bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092

常见问题及解决

查看Kafka是否注册到zk上

  • 进入zk的shell界面。
[root@localhost kafka_2.13-2.8.0]# bin/zookeeper-shell.sh localhost:2181 
# USAGE: bin/zookeeper-shell.sh zookeeper_host:port[/path] [-zk-tls-config-file file] [args...]
  • 输入ls /brokers/ids可以看到有多少个broker注册到zk上。

    • 如果返回的是[0],则有一个Kafka节点注册到zk上了。
    • 如果是3个kafka节点,里面会显示[0,1,2]。数字是从0开始计数的。
    • 如果kakfa没有注册到zk上,结果就是[]。
文章目录