跳转至

18. kafka简单命令

1. kafka放入后台运行

#1.查看后台运行
jobs

#2.kill进程
kill %2
kill %1

#3.启动
cd /tmp
nohup /usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties &
nohup /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties &

2. topic管理

1 查看

/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181 
[root@node-1 kafka]# /usr/local/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181
Exception in thread "main" joptsimple.UnrecognizedOptionException: zookeeper is not a recognized option
        at joptsimple.OptionException.unrecognizedOption(OptionException.java:108)
        at joptsimple.OptionParser.handleLongOptionToken(OptionParser.java:510)
        at joptsimple.OptionParserState$2.handleArgument(OptionParserState.java:56)
        at joptsimple.OptionParser.parse(OptionParser.java:396)
        at kafka.admin.TopicCommand$TopicCommandOptions.<init>(TopicCommand.scala:517)
        at kafka.admin.TopicCommand$.main(TopicCommand.scala:47)
        at kafka.admin.TopicCommand.main(TopicCommand.scala)

1.1 查资料

# 解决方案:在较新版本(2.2 及更高版本)的 Kafka 不再需要 ZooKeeper 连接字符串,即- -zookeeper localhost:2181。
# 使用 Kafka Broker的 --bootstrap-server localhost:9092来替代- -zookeeper localhost:2181。
/usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092
[root@node-1 kafka]# /usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092

[root@node-1 kafka]#

2 创建

#--zookeeper新版本已经不支持了!!!
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replicaion-factor 1 --partitions 1 --topic test
#--bootstrap-server
/usr/local/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

3 再次查看

/usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092

4 查看某个topic详细信息

/usr/local/kafka/bin/kafka-topics.sh --describe --bootstrap-server localhost:9092  --topic test
[root@node-1 tmp]# /usr/local/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
Created topic test.
[root@node-1 tmp]#
[root@node-1 tmp]# /usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092
test
[root@node-1 tmp]#
[root@node-1 tmp]# /usr/local/kafka/bin/kafka-topics.sh --describe --bootstrap-server localhost:9092  --topic test
Topic: test     TopicId: UrzfGS_0S1WXogCFHrVfEA PartitionCount: 1       ReplicationFactor: 1    Configs: segment.bytes=1073741824
        Topic: test     Partition: 0    Leader: 0       Replicas: 0     Isr: 0

3. 读写消息测试

1. 窗口1:负责写消息

#窗口1,负责写消息
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

2. 窗口2:负责读消息

#窗口2,负责接收消息
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

3. 窗口1写入消息

[root@node-1 tmp]# /usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
>test
>1
>2

4. 查看窗口2,是否有消息接收到!

[root@node-1 tmp]# /usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
test
1
2
#收到消息了!!!

4. 命令测试

/usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092 __consumer_offsets
[root@node-1 tmp]# /usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092 __consumer_offsets
__consumer_offsets
test

5. 删除topic

/usr/local/kafka/bin/kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic test
[root@node-1 tmp]# /usr/local/kafka/bin/kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic test
[root@node-1 tmp]#
[root@node-1 tmp]# /usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092 __consumer_offsets
__consumer_offsets

最后更新: 2022-02-20 08:44:07