Kafka 常用命令

主体命令行操作

参数说明

参数 描述
--bootstrap-server <String: server toconnect to> 连接的 Kafka Broker 主机名称和端口号
--topic String:topic 操作的 topic 名称
--create 创建主题
--delete 删除主题
--alter 修改主题
--list 查看所有主题
--describe 查看主题详细描述
--partitions <Integer:#of partitions> 设置分区数
--replication-factor<Integer:replication factor> 设置分区副本
--config String:name=value 更新系统默认的配置
# 创建 topic,指定分区数为 1,副本为 3
kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --topic klvchen --create --partitions 1 --replication-factor 3


# 查看 topic列表
kafka-topics.sh --bootstrap-server 127.0.0.1:9094 --list


# 查看特定 topic 的详情,使用 --topic 与 --describe 参数
kafka-topics.sh --bootstrap-server 127.0.0.1:9094 --topic klvchen --describe

# 修改副本数,副本数只能增加,不能减少
kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --topic klvchen --alter --partitions 4 

# 查看正在运行的消费组
kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --list --new-consumer 

# 查看 topic 的内容
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic k8s-test-nengguan-mynginx-2022.02.11 --from-beginning

# 查看消息组 ibaboss_mobile 消息堆积情况
kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --describe --group  ibaboss_mobile

# 删除 topic
kafka-topics.sh --delete --topic k8s-pre-nengguan-self-control-strategy-2022.01.22  --zookeeper zookeeper-0.zookeeper-hs:2181,zookeeper-1.zookeeper-hs:2181,zookeeper-2.zookeeper-hs:2181

# 查看 topic 保留天数
kafka-configs.sh --bootstrap-server kafka.default.svc.cluster.local:9092 --describe --entity-name test --entity-type topics

# 修改 topic 保留天数,86400000 是一天,可以通过 UI 进行更改
kafka-configs.sh --bootstrap-server kafka.default.svc.cluster.local:9092 --alter --entity-name test --entity-type topics --add-config retention.ms=86400000

-------------------------------------- 测试消息

# 开启一个终端,进入 kafka 容器
kafka-console-producer.sh --bootstrap-server 127.0.0.1:9092 --topic first
# 输入信息

# 开启另外一个终端,进入 kafka 容器
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic_test --from-beginning
# 查看是否正常显示

节点压力均衡

# 第一步:使用集群重新分配命令
kafka-reassign-partitions.sh #重分命令
--bootstrap-server #集群地址
--broker-list #将要分布在那几个broker上面的列表
--topics-to-move-json-file #哪个topic需要重新均衡,这个配置需要一个json文件,结构如下图
--generate #生成计划

# 先创建一个 topic.json 输入如下内容
{ "topics": [{"topic":"topic_a"}],"version":1]}
# 整体代码命令如下
bin/kafka-reassign-partitions.sh --bootstrap-server localhost:9092 --broker-1ist 0,1,2,3,4,5 --topics-to-move-json-file topic.json --generate

# 第二步:将目标计划放入到一个文件中, 创建 new.json 内容是上面生成的 json
bin/kafka-reassign-partitions.sh --bootstrap-server localhost:9092 --reassignment-json-file new.json --execute

# 验证
bin/kafka-reassign-partitions.sh --bootstrap-server localhost:9092 --reassignment-json-file new.json --verify

动态删除broker

这个过程需要将即将删除的broker节点上所管理的topic的分区分摊给其他节点,然后将这个节点删除掉

# 例如: 在列表中将 broker5 删除掉
# 首先创建一个 topic.json 输入如下内容
{"topics":[{"topic":"topic_a"}],"version":1}
# 整体代码命令如下
/bin/kafka-reassign-partitions.sh --bootstrap-server localhost:9092 --broker-list 0,1,2,3,4 --topics-to-move-json-file topic.json --generate
# 列表中只有01 2 3 4

# 第二步:将目标计划放入到一个文件中, 创建 new.json 内容是上面生成的 json
bin/kafka-reassign-partitions.sh --bootstrap-server localhost:9092 --reassignment-json-file new.json --execute


posted @ 2019-11-08 13:41  klvchen  阅读(524)  评论(0编辑  收藏  举报