前提1: 配置了sasl_plaintext的kafka在使用生产者脚本的时候,报超时错误:错误如下
前提2: 使用消费者没有报错(确实收不到)
前提3: 换成localhost:9092,生产者以及消费者可以正常执行
server.properties 配置
listeners=SASL_PLAINTEXT://dcim-broker-hjsxxa-02:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
运行生产者的指令:
./kafka-console-producer.sh --broker-list dcim-broker-hjsxxa-02:9092 --topic test --producer-property security.protocol=SASL_PLAINTEXT --producer-property sasl.mechanism=PLAIN
错误消息:
TimeoutException: Expiring 2 record(s) for test-0: 1548 ms has passed since batch creation plus linger time
telnet是没问题的
参考一下 kafka实战kerberos(笔记)
我这个使用的是sasl不是keberos,然后现在生产者没有问题了不报超时了,但是我消费者没法消费到消息
我看你并没有把jaas带进去,可以关注一下broker的日志,是否报什么异常。
参考一下 kafka实战SASL/PLAIN认证
之前已经代进去了,现在的报错反而是消费者那边,显示的是group coordinator is not available
这是个警告吧,可以忽视。
你看看是否还有更多信息可以提供,没有错误很难下手。
我用的是plumber工具进行读写测试的,完整错误是
使用官方脚本,生产者和消费者都正常,但是消费者无法消费到生产者生产的消息
你去kafka节点看看日志,那里应该有错误原因。
看了下,好像是消费者分区出了问题,里面所有的参数都为0,然后消费者启动时就显示找不到leader
你的答案