我正在尝试使用“ SASL_PLAINTEXT” 或“ PLAINTEXT” 连接融合的Kafka经纪人,但出现此错误经纪人运输失败 。但是,它与“ SASL_SSL” 协议可以正常工作,但不能与其他任何安全协议一起工作。
这是我的代码。
const consumer = new Kafka.KafkaConsumer({
'group.id':'gsuite_consumer',
'metadata.broker.list': *******,
'sasl.mechanisms': 'PLAIN',
'sasl.username': *********,
'sasl.password': ******,
'security.protocol': 'PLAINTEXT'
}, {});
// Connect the consumer.
consumer.connect({timeout: "1000ms"}, (err) => {
if (err) {
console.log(`Error connecting to Kafka broker: ${err}`);
process.exit(-1);
}
console.log("Connected to Kafka broker");
});
知道我在做什么错吗?在这里与经纪人联系。我也已将此代码部署在Heroku服务器上,并且无法正常工作
答案 0 :(得分:1)
安全协议确定如何建立从客户端到代理的连接。每个(PLAINTEXT
,SASL_PLAINTEXT
和SASL_SSL
)的工作方式都不同,端口上只有其中一个可用。
例如,如果您的代理使用SASL_SSL
侦听9093,则需要使用此确切协议在此端口上进行连接。尝试其他安全协议会失败。
看看您的代理的advertised.listeners
配置,以确定它们公开的端口/协议组合。