kafka核心参数 及常见运维命令

2021-01-31  本文已影响0人  晨磊的微博

20-kafka生产环境搭建之核心参数详解

21-kafka生产环境搭建之集群压力测试

kafka-producer-perf-test.sh --broker-list kafka:9092 --messages 5000000 --topics test
kafka-consumer-perf-test.sh --broker-list kafka:9092 --fetch-size 2000 --message 5000000 --topics test

22-kafka运维之常见运维工具介绍

kafkaManager(略了)

23-kafka运维之常见运维命令介绍

  1. Topic 数据增大,需要增加partiton
kafka-topic.sh --alter --zookeeper zk:2181 --partition 3 --topic test
  1. 核心 Topic 增加副本因子
    先编辑 test.json文件
{"version":1,
"partitions":[
    {"topic":"test","partition":0,"replicas":[0,1,2]},
    {"topic":"test","partition":1,"replicas":[0,1,2]},
    {"topic":"test","partition":2 ,"replicas":[0,1,2]}
]}

执行以下命令(记得指定 test.json 文件)

kafka-reassign-partitions.sh --zookeeper zk:2181 --reassignment-json-file test.json --execute
  1. Topic 负载不均衡
    编辑 topics-to-move.json
{"topic":[
    {"topic":"test01"},
    {"topic":"test02"}
  ],
"version":1
}

生成迁移方案命令:要指定topics-to-move.json。此命令会生成expand-cluster-reassignment.json 文件

kafka-reassign-partitions.sh --zookeeper zk:2181 --topics-to-move-json-file test.json --broker-list "5,6" --generate

执行迁移方案

kafka-reassign-partitions.sh --zookeeper zk:2181 --reassignment-json-file expand-cluster-reassignment.json --execute

检查迁移是否完成

kafka-reassign-partitions.sh --zookeeper zk:2181 --reassignment-json-file expand-cluster-reassignment.json --verify

注意:迁移需要在低峰期进行,因为会占用大量带宽

  1. broker leader partition 过多,需要负载均衡
    kafka 与leader负载均衡相关的参数有三个

解释不平衡比例:如有三个broker,leader数分布如下
broker0:4
broker1:3
broker2:1
正常负载应该是
broker0:2
broker1:2
broker2:2
每个broker平衡比例计算规则在 KafkaController.scala里,具体的没细看呢。

上一篇下一篇

猜你喜欢

热点阅读