dockerspring相关知识

详细解析 kafka manager 的使用

2019-01-16  本文已影响0人  xuxiangwork

添加集群

常用参数说明

下面已常用的选项作说明

kafka-manager-cluster3.png topic-metrics.png

其余参数说明

参数名 参数说明 默认值 备注
brokerViewUpdatePeriodSeconds Broker视图周期更新时间/单位(s) 30
clusterManagerThreadPoolSize 集群管理线程池大小 2
clusterManagerThreadPoolQueueSize 集群管理线程池列队大小 100
KafkaCommandThreadPoolSize Kafka命令线程池大小 2
logkafkaCommandThreadPoolQueueSize logkafka命令线程池列队大小 100
logkafkaUpdatePeriodSeconds Logkafka周期更新时间/单位(s) 30
partitionOffsetCacheTimeoutSecs Partition Offset缓存过期时间/单位(s) 5
brokerViewThreadPoolSize Broker视图线程池大小 8 3 * number_of_brokers
brokerViewThreadPoolQueue Size Broker视图线程池队列大小 1000 3 * total # of partitions across all topics
offsetCacheThreadPoolSize Offset缓存线程池大小 8
offsetCacheThreadPoolQueueSize Offset缓存线程池列队大小 1000
kafkaAdminClientThreadPoolSize Kafka管理客户端线程池大小 8
kafkaAdminClientTheadPoolQueue Sizec Kafka管理客户端线程池队列大小 1000
kafkaManagedOffsetMetadataCheckMillis Offset元数据检查时间 30000 (这部分解释属自己理解)
kafkaManagedOffsetGroupCacheSize Offset组缓存大小 100000 (这部分解释属自己理解)
kafkaManagedOffsetGroupExpireDays Offset组缓存保存时间 7 (这部分解释属自己理解)
Security Protocol 安全协议 PLAINTEXT [SASL_PLAINTEXT,SASL_SSL,SSL]

topic 的管理

topic 列表

下面对画方框的三列做着重解释。

topic-list.png

注意如下这种情况也是不计算作倾斜的。


broker-skew4.png leader-skew3.png leader-skew4.png

此时,broker2 拥有 3 个 leader 分区,超过平均范围的 2 个,所以 broker2 就 Leader 分区倾斜了,倾斜率 1/5=20%。

replica.log.max.ms: 如果一个follower在这个时间内没有发送fetch请求或消费leader日志到结束的offset,leader将从ISR中移除这个follower,并认为这个follower已经挂了,默认值 10000 ms

用下图举例说明:

under-replicated.png
broker1 此时拥有 partition1 和 partition4,其中 partition4 时 Leader,partition1 是副本,如果此时 broker 故障不可用,则会出现如下情况:
under-replicated2.png
under-replicated3.png
上述两张图片时接连展现,先是发现borker1 上 partition4 这个 Leader 分区失效,继而从 ISR 队列中取出 broker4 上的副本作为 Leader 分区,然后在后期同步检测过程中发现broker1 上 partition1 这个副本失效。最后导致的结果就是 partition1 和 partition4 都出于副本失效或者失败的状态。此时 Under Replicated 的数值为:2/6=33%。
under-replicated4.png

总结

上面三个参数对于衡量 topic 的稳定性有重要的影响:
Broker Skew: 反映 broker 的 I/O 压力,broker 上有过多的副本时,相对于其他 broker ,该 broker 频繁的从 Leader 分区 fetch 抓取数据,磁盘操作相对于其他 broker 要多,如果该指标过高,说明 topic 的分区均不不好,topic 的稳定性弱;
Broker Leader Skew:数据的生产和消费进程都至于 Leader 分区打交道,如果 broker 的 Leader 分区过多,该 broker 的数据流入和流出相对于其他 broker 均要大,该指标过高,说明 topic 的分流做的不够好;
Under Replicated: 该指标过高时,表明 topic 的数据容易丢失,数据没有复制到足够的 broker 上。

topic 详情

下面着重讲述红框部分:


topic-detail.png

In an ideal scenario, the leader for a given partition should be the "preferred replica". This guarantees that the leadership load across the brokers in a cluster are evenly balanced.

上述是关于“优先副本”的相关描述,即在理想的状态下,分区的 leader 最好是 “优先副本”,这样有利于保证集群中 broker 的领导权比较均衡。重新均衡集群的 leadership 可采用 kafka manager 提供的工具:


preferred Leader2.png

topic 操作

操作 说明
Delete Topic 删除 topic
Reassign Partitions 平衡集群负载
Add Partitions 增加分区
Update Config Topic 配置信息更新
Manual Partition Assignments 手动为每个分区下的副本分配 broker
Generate Partition Assignments 系统自动为每个分区下的副本分配 broker

一般而言,手动调整、系统自动分配分区和添加分区之后,都需要调用 Reassign Partition

manual-partition-assignments2.png generate partition.png

消费监控

kafka manager 能够获取到当前消费 kafka 集群消费者的相关信息。


cosumer1.png
consumer2.png
cosumer3.png

参考
[1]: Kafka副本同步机制理解
[2]: kafka维护工具使用指南
[3]: kafka 中文文档
[4]: Replication tools

上一篇下一篇

猜你喜欢

热点阅读