报错信息
通过java spring boot 访问kafka异常报错,错误信息如下:
WARN o.a.k.c.NetworkClient - [warn,246] - [Producer clientId=producer-1] Error while fetching metadata with correlation id 5 : {xxxxTopic=UNKNOWN_TOPIC_OR_PARTITION}
原始配置
查看kafka配置文件,如下设置:
KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=false 居然是不允许自动创建topic
修改配置
# 定义安全协议
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
# 集群地址
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
# 指定供外部使用的控制类请求信息
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
# 设置broker最大内存,和初始内存
- KAFKA_HEAP_OPTS=-Xmx512M -Xms256M
# 使用Kafka时的集群id,集群内的Kafka都要用这个id做初始化,生成一个UUID即可(22byte)
- KAFKA_KRAFT_CLUSTER_ID=xNcCyHmJlIaLzLoBzVwIcP
# 允许使用PLAINTEXT监听器,默认false,不建议在生产环境使用
- ALLOW_PLAINTEXT_LISTENER=yes
# 不允许自动创建主题
- KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
# broker.id,必须唯一,且与KAFKA_CFG_NODE_ID一致
- KAFKA_BROKER_ID=1
运行正常
Spring boot 运行正常
通过kafka-ui页面查询成功创建topic