一站式Apache Kafka
集群指标监控与运维管控平台
Logi-KafkaManager
在设计上,所有的资源都是挂在应用(app)下面。 如果接入的Kafka集群已经存在Topic了,那么会导致这些Topic不属于任何的应用,从而导致很多管理上的不便。
因此,需要有一个方式将这些无主的Topic挂到某个应用下面。
这里提供了一个配置,会定时自动将集群无主的Topic挂到某个应用下面下面。
就是一个定时任务,该任务会定期做同步的工作。具体代码的位置在com.xiaojukeji.kafka.manager.task.dispatch.op
包下面的SyncTopic2DB
类。
步骤一:开启该功能
在application.yml文件中,增加如下配置,已经有该配置的话,直接把false修改为true即可
# 任务相关的开关
task:
op:
sync-topic-enabled: true # 无主的Topic定期同步到DB中
步骤二:配置管理中指定挂在那个应用下面
配置的位置:
配置键:SYNC_TOPIC_2_DB_CONFIG_KEY
配置值(JSON数组):
注意,这里的集群ID,或者是应用ID不存在的话,会导致配置不生效。该任务对已经在DB中的Topic不会进行修改
[
{
"clusterId": 1234567,
"defaultAppId": "ANONYMOUS",
"addAuthority": false
},
{
"clusterId": 7654321,
"defaultAppId": "ANONYMOUS",
"addAuthority": false
}
]
在Region
所圈定的Broker范围内,某个Topic的Leader数在这些圈定的Broker上分布不均衡时,我们认为该Topic是存在热点的Topic。
备注:单纯的查看Leader数的分布,确实存在一定的局限性,这块欢迎贡献更多的热点定义于代码。
Topic分区热点相关的动态配置(页面在运维管控->平台管理->配置管理):
配置Key:
REGION_HOT_TOPIC_CONFIG
配置Value:
{
"maxDisPartitionNum": 2, # Region内Broker间的leader数差距超过2时,则认为是存在热点的Topic
"minTopicBytesInUnitB": 1048576, # 流量低于该值的Topic不做统计
"ignoreClusterIdList": [ # 忽略的集群
50
]
}
总流量除以分区数,超过指定值时,则我们认为存在Topic分区不足。
Topic分区不足相关的动态配置(页面在运维管控->平台管理->配置管理):
配置Key:
TOPIC_INSUFFICIENT_PARTITION_CONFIG
配置Value:
{
"maxBytesInPerPartitionUnitB": 3145728, # 单分区流量超过该值, 则认为分区不去
"minTopicBytesInUnitB": 1048576, # 流量低于该值的Topic不做统计
"ignoreClusterIdList": [ # 忽略的集群
50
]
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。