本文主要介绍了在kafka中常用的命令行常用操作
更新于 2021-04-17
topic相关命令
创建topic
1
| kafka-topics.sh --create --bootstrap-server 172.17.0.2:9092,172.17.0.3:9092,172.17.0.4:9092 --replication-factor 3 --partitions 3 --topic kafka_data
|
--bootstrap-server
:指定要哪台Kafka服务器上创建Topic,主机加端口,指定的主机地址一定要和配置文件中的listeners一致;
--replication-factor
:创建Topic中的每个分区(partition)中的复制因子数量,即为Topic的副本数量,建议和Broker节点数量一致,如果复制因子超出Broker节点将无法创建;
--partitions
:创建该Topic中的分区(partition)数量;
--topic
:指定Topic名称;
如果创建的topic包含”_.”之类的符号会收到警告,但是不会影响创建。
查看topic
1
| kafka-topics.sh --list --bootstrap-server 172.17.0.2:9092,172.17.0.3:9092,172.17.0.4:9092
|
--bootstrap-server
:指定查看哪一台kafka上的topic,这里查看所有节点的(也可以查看某一个节点);
查看topic详情
1 2 3 4 5 6
| kafka-topics.sh --describe --bootstrap-server 172.17.0.2:9092 --topic kafka_data
Topic:kafka_data PartitionCount:3 ReplicationFactor:3 Configs:segment.bytes=1073741824 Topic: kafka_data Partition: 0 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3 Topic: kafka_data Partition: 1 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1 Topic: kafka_data Partition: 2 Leader: 3 Replicas: 3,1,2 Isr: 3,1,2
|
Topic:kafka_data
:topic名称
PartitionCount:3
:分片数量
ReplicationFactor:3
:Topic副本数量
修改topic分区数
注意:topic分区数只能增大,不能减少
1
| kafka-topics.sh --alter --bootstrap-server 9.235.152.125:9092 --topic kafka_data --partitions 30
|
修改topic:kafka_data 的分区数为30
删除topic
1
| kafka-topics.sh --delete --bootstrap-server 172.17.0.2:9092 --topic kafka_data
|
在node1节点删除了Topic,三台节点会同步更新,所以我们的kafka_data
在三台node上全部删除
注意,这个操作只会标记topic为删除状态,想要永久删除,需要登录zookeeper进行删除topic数据:
1 2 3 4 5
| bin/zkCli.sh -server <zookeeper-host:port>
rmr /brokers/topics/<topicname>
|
消息相关命令
发送消息
1 2 3 4
| kafka-console-producer.sh --broker-list 172.17.0.2:9092 --topic kafka_data >Hello Kafka_data >I'm the 172.17.0.2 Kafka create >test
|
--broker-list
:指定使用哪台broker来生产消息
--topic
:指定要往哪个Topic中生产消息
消费消息
1 2 3 4 5
| kafka-console-consumer.sh --bootstrap-server 172.17.0.4:9092 --topic kafka_data --from-beginning
I'm the 172.17.0.2 Kafka create test Hello Kafka_data
|