问题解决方案
报错问题一:WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 208 : {installtopic=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
解决思路:
1.检查Broker 注册
#1.检查Broker 注册
bin/zookeeper-shell.sh master:2181 ls /brokers/ids # 应输出 [0,1,2]
2.检查kafka进程是否存在
# 在 slave2 上检查 Kafka 进程是否存在
ps aux | grep Kafka
3.检查日志是否有隐藏错误
grep -i error logs/server.log
4. 验证 slave 的 broker.id 配置
#确保 slave2 的 config/server.properties 中配置了 唯一且正确的 broker.id:
# broker.id=2
cat config/server.properties | grep broker.id
注意修改过配置,需要重启kafka服务
5. 清理并重启
- 删除 ZooKeeper 中残留的 Broker 注册(在 ZooKeeper 节点执行):
bin/zookeeper-shell.sh master:2181
> rmr /brokers/ids/2 # 删除 slave2 的旧数据
> quit
6.主机名解析
- 所有节点的 /etc/hosts 必须包含集群 IP 映射:
192.168.1.100 master
192.168.1.101 slave1
192.168.1.102 slave2
7.检查 Kafka Broker 的实际运行状态
#检查 Kafka 进程是否存活
ps aux | grep KafkaServer
#查看 Kafka 日志中的错误
tail -n 100 logs/server.log | grep -iE "error|failed|shutdown"