ERROR Fatal error during KafkaServer startup.Configured zookeeper.connect may be wrong

检查一下kafka配置文件 config/server.properties

zookeeper.connect=bigdata111:2181, bigdata112:2181, bigdata113:2181

去zookeeper中

进入zk的客户端中查看kafka的节点
ls /brokers/ids

如果此时kafka没起来  ids下有【0,1,2,…】
说明节点被占用了

****kafka启动细节点:****
Kafka在启动时,每个kafka都会去zookeeper上面的节点注册
Kafka正常关闭的情况下,会将zookeeper上面注册的节点删除掉
Kafka下次启动还会去重新注册,重新注册发现节点已被注册,导致无法开启

解决方案:

删除这些节点

delete /brokers/ids

再次查看zookeeper 客户端的节点情况

ls /brokers/ids

分析上述问题出现情况:

1、 关闭集群时是直接关机,或是没按正常流程关闭

2、 卸载kafka时,残留的节点信息,未清除


kafka.common.KafkaException: DelegationToken not a valid resourceType name.
因为使用java客户端 spring-kafka是 2.12的版本,服务器broker是 2.11 的版本,进行操作broker时,在 zookeeper中创建 /kafka-acl/DelegationToken  节点,导致服务启不来,解决办法是 java客户制成与 broker版本一致 , 删除 zk 中的 /kafka-acl/DelegationToken , 就可以正常启动
kafka重装时,需要在zookeeper删除元数据信息

需要使用 bin/zkCli.sh 命令进入zookeeper,然后使用 rmr 命令删除以下内容即可

admin:删除的topic
brokers :集群节点信息,topic信息
cluster:kafka集群信息
config:配置信息
consumers:消费者信息
controller_epoch:集群经过了多少次controller选取
isr_change_notification
kafka-acl
kafka-acl-changes
kafka-acl-extended
kafka-acl-extended-changes
latest_producer_id_block
log_dir_event_notification
producer:生产者信息
controller:控制节点的broker.id
broker中的topic损坏需要重建
//备份
mkdir bak
mkdir bak/202006001pecuheart-0
mkdir bak/202006001pecuheart-1
mkdir bak/202006001pecuheart-2
cp -r kafka-logs/202006001pecuheart-0/ bak/
cp -r kafka-logs/202006001pecuheart-1/ bak/
cp -r kafka-logs/202006001pecuheart-2/ bak/
//删除kafka正在处理数据的topic
rm -rf 202006001pecuheart-0
rm -rf 202006001pecuheart-1
rm -rf 202006001pecuheart-2
//删除kafka在zk上存的节点
bin/zkCli.sh -server bigdata111:2181
ls /brokers/topics
rmr /brokers/topics/202006001pecuheart
//重建topic
bin/kafka-topics.sh --zookeeper bigdata111:2181, bigdata112:2181, bigdata113:2181 --create --replication-factor 3 --partitions 3 --topic 202006001pecuheart
Error while fetching metadata with correlation id 195

Kafka java client 连接异常(org.apache.kafka.common.errors.TimeoutException: Failed to update metadata )