Kafka-topic基本操作

1、kafka-topics.sh参数介绍

1.1、查看命令帮忙助

/usr/local/kafka/bin/kafka-topics.sh --help

1.2、属性解析

选项                                              描述
--alter                                           # 更改分区数,副本分配,和/或主题的配置。
--bootstrap-server <String:server to connect to>  # 必需:要连接的 Kafka 服务器。 如果提供此项,则不需要直接的 Zookeeper 连接。
--config <String:name=value>                      # 设定配置属性
--create                                          # 创建一个新的topic
--delete                                          # 删除一个topic
--describe                                        # 列出给定主题的详细信息。
--help                                            # 打印帮助信息。
--list                                            # 列出所有可用的topic。
--partitions <Integer:                            # ofpartitions>设置topic 分区数
--replication-factor <Integer:replication factor> # 指定topic的副本数
--topic <String: topic>                           # 指定topic 名称
--topics-with-overrides                           # 如果在描述主题时设置,则仅显示已覆盖配置的主题
--version                                         # 展示Kafka版本
--zookeeper <String: hosts>                       # 已弃用,zookeeper 连接的连接字符串,格式为 host:port。可以提供多个主机以允许故障转移。

2、kafka-topics管理

2.1、创建topics

2.1.1、命令介绍

kafka-topics.sh --create --zookeeper <host>:<port> --if-not-exists --replication-factor <副本数> --partitions <分区数> --topic <副本名称>

2.1.2、示例

# 2.x版本 创建topic方法
kafka-topics.sh --create --zookeeper 192.168.10.30:2181,192.168.10.31:2181,192.168.10.32:2181 --replication-factor 3 --partitions 3 --topic kafkatest

# 3.x版本 创建topic方法
kafka-topics.sh --create --bootstrap-server 192.168.10.30:9092,192.168.10.31:9092,192.168.10.32:9092 --replication-factor 3 --partitions 3 --topic kafkatest  

2.2、查询topics

# 2.x版本 查询topic方法
kafka-topics.sh --list --zookeeper 192.168.10.30:2181,192.168.10.31:2181,192.168.10.32:2181

# 3.x版本 查询topic方法
kafka-topics.sh --list --bootstrap-server 192.168.10.30:9092,192.168.10.31:9092,192.168.10.32:9092

2.3、查询topics分区情况

2.3.1、示例

# 2.x版本 查询topic方法
kafka-topics.sh --describe --zookeeper 192.168.10.30:2181,192.168.10.31:2181,192.168.10.32:2181 kafkatest

# 3.x版本 查询topic方法
# kafka-topics.sh --describe --bootstrap-server 192.168.10.30:9092,192.168.10.31:9092,192.168.10.32:9092 kafkatest
Topic: kafkatest        TopicId: pgiw6fLhSRaroMxZwQQeiQ PartitionCount: 3       ReplicationFactor: 3    Configs: 
        Topic: kafkatest        Partition: 0    Leader: 1       Replicas: 1,2,3 Isr: 1,2,3
        Topic: kafkatest        Partition: 1    Leader: 2       Replicas: 2,3,1 Isr: 2,3,1
        Topic: kafkatest        Partition: 2    Leader: 3       Replicas: 3,1,2 Isr: 3,1,2

2.3.2、属性解析

Topic              # topic名称 
PartitionCount     # 分区数
ReplicationFactor  # 定义的分区数 
Configs            # 配置
Partition          # 当前分区位置 
Leader             # 当前那个broker为Leader
Replicas           # 副本位置 
Isr                # lsr同步队列

2.4、删除topics

# 2.x版本 查询topic方法
kafka-topics.sh --delete --zookeeper 192.168.10.30:2181,192.168.10.31:2181,192.168.10.32:2181 --topic kafkatest

# 3.x版本 查询topic方法
kafka-topics.sh --delete --bootstrap-server 192.168.10.30:9092,192.168.10.31:9092,192.168.10.32:9092 --topic kafkatest

3、生产者与消费者

3.1、生产消息【kafka-console-producer.sh】

3.1.1、命令介绍

kafka-console-producer.sh --broker-list <kafkaIP1>:<端口> <kafkaIP2>:<端口> --topic <topic名称>

3.1.2、生产消息示例

# kafka-console-producer.sh --broker-list 192.168.10.30:9092,192.168.10.31:9092,192.168.10.32:9092 --topic kafkatest
>hello kafka

3.2、消费消息【kafka-console-consumer.sh】

3.2.1、命令介绍

kafka-console-consumer.sh --bootstrap-server <host>:<post> --topic <topic名称> --from-beginning

3.2.2、消费消息示例

# kafka-console-consumer.sh --bootstrap-server 192.168.10.30:9092,192.168.10.31:9092,192.168.10.32:9092 --topic kafkatest --from-beginning
hello kafka

3.3、zookeeper查询topics

# /usr/local/zookeeper/bin/zkCli.sh -server 192.168.10.30:2181
[zk: 192.168.10.30:2181(CONNECTED) 0] ls /brokers 
[ids, seqid, topics]

[zk: 192.168.10.30:2181(CONNECTED) 1] ls /brokers/ids 
[1, 2, 3]

[zk: 192.168.10.30:2181(CONNECTED) 2] ls /brokers/topics 
[__consumer_offsets, kafkatest]

[zk: 192.168.10.30:2181(CONNECTED) 3] get /brokers/topics/kafkatest 
{"partitions":{"0":[1,3,2],"1":[2,1,3],"2":[3,2,1]},"topic_id":"dpeV7n3fSyehh-ebygbwaQ","adding_replicas":{},"removing_replicas":{},"version":3}

 

posted @ 2023-06-02 15:45  小粉优化大师  阅读(477)  评论(0编辑  收藏  举报