关于CM kafka告警 kafka topic offline

1、通过命令查看offline的topic

./kafka-topics --describe --zookeeper $ZK_HOST:2181 --unavailable-partitions
看到3个故障topic

23/03/27 14:25:09 INFO zookeeper.ZooKeeperClient: [ZooKeeperClient] Connected.
        Topic: ATLAS_ENTITIES   Partition: 0    Leader: none    Replicas: 1001  Isr: 1001
        Topic: ATLAS_HOOK       Partition: 0    Leader: none    Replicas: 1001  Isr: 1001
        Topic: ambari_kafka_service_check       Partition: 0    Leader: none    Replicas: 1001  Isr: 1001

但是实际集群中并没有这个1001的id,这个有可能是做过节点迁移遗留问题,所以只能进行topic重建

2、删除topic

关于这几个topic在CDP中的用途如下解释

ambari_kafka_service_check是HDP的service check使用的topic。在CDP中用不到

ATLAS_HOOK和ATLAS_ENTITIES这两个topic是Atlas用来收集血缘关系用的,可以这样来重建
从CM > Atlas > Actions > Create Kafka Topics for Atlas重建topic。

删除命令
./kafka-topics --delete --zookeeper $ZK_HOST:2181 --topic ATLAS_ENTITIES

3、重建topic

./kafka-topics --create --zookeeper $ZK_HOST:2181 --partitions 1 --replication-factor 2 --topic ATLAS_ENTITIES

4、删除过程出现的问题

1)执行删除后在去查看依旧可以看到对应的topic

kafka-topics --list --zookeeper $ZK_HOST:2181

ATLAS_ENTITIES - marked for deletion

这是因为delete.topic.enable参数是true
去zk的节点删除对应信息
rmr /brokers/topics/ATLAS_ENTITIES 或者delete /brokers/topics/ATLAS_ENTITIES
如果删除后topic还在,对对应的broker重启(缓存原因)即可解决

你可能感兴趣的:(kafka,CDP,kafka,java,分布式)