Kafka命令行操作常用命令


命令行操作Topic

任意节点执行都可以

新增一个topic

$ cd /opt/software/kafka_011
$ ./bin/kafka-topics.sh --create --zookeeper clickhouse1:2181 --topic first --partitions 2 --replication-factor 2

参数说明 : --topic 自定义topic名 ; --partition 自定义分区数 >=<broker数 ; --replication-factor 自定义真实能创建的副本数(有的框架支持设置最大副本数 3个节点 副本数可设置10 当动态增加节点时 动态增加副本数) <=broker数

kafka 控制台 密码 kafka 命令行操作_Customer

  • 查看当前服务器中所有topic
$ cd /opt/software/kafka_011
$ ./bin/kafka-topics.sh --list --zookeeper clickhouse1:2181

现象 : 查看3个节点的/opt/software/kafka_011/logs文件夹发现 240节点出现了分区名为first-1的Partition 242节点出现了分区名为first-0的Partition 241节点出现了分区名为first-0的Partition和分区名为first-1的Partition

kafka 控制台 密码 kafka 命令行操作_Customer_02

查详情
  • 查看一个topic的描述
$ cd /opt/software/kafka_011
$ ./bin/kafka-topics.sh --describe --topic first --zookeeper clickhouse1:2181

kafka 控制台 密码 kafka 命令行操作_kafka_03

  • 删除一个topic
$ cd /opt/software/kafka_011
$ ./bin/kafka-topics.sh --delete --zookeeper clickhouse1:2181 --topic system-log-5633-filebeat

kafka 控制台 密码 kafka 命令行操作_kafka 控制台 密码_04

现象 : 这个topic在3个节点的Partition文件夹都消失了 ; 此时 重新建一个同名topic可成功


命令行操作Producer/Customer

进入Producer控制台

在节点a操作

$  --topic first --broker-list clickhouse1:9092

kafka 控制台 密码 kafka 命令行操作_zookeeper_05

进入Customer控制台
方式一 从当前offset开始消费

在节点b操作

$ cd /opt/software/kafka_011
$ ./bin/kafka-console-consumer.sh --topic first --bootstrap-server clickhouse1:9092

# 老版本的 不用了
$ cd /opt/software/kafka_011
$ ./bin/kafka-console-consumer.sh --topic first --zookeeper clickhouse2:2181

–zookeeper 换成–bootstrap-server offset就由zk存入kafka了

kafka 控制台 密码 kafka 命令行操作_zookeeper_06

结果 : 发布者已经发布完的2条数据 是获取不到的 只能获取到消费者启动服务之后的时间的数据

方式二 从起始offset开始消费

在节点c操作

$ cd /opt/software/kafka_011
$ ./bin/kafka-console-consumer.sh --topic first --bootstrap-server clickhouse1:9092 --from-beginning

# 老版本 不用了
$ cd /opt/software/kafka_011
$ ./bin/kafka-console-consumer.sh --topic first --zookeeper clickhouse1:2181 --from-beginning

kafka 控制台 密码 kafka 命令行操作_kafka 控制台 密码_07

发布消息

在节点a操作
在Producer控制台输入

hello
atguigu

kafka 控制台 密码 kafka 命令行操作_kafka_08

自动接收消息

Customer控制台自动接收:

kafka 控制台 密码 kafka 命令行操作_zookeeper_09