0

我正在尝试使用“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 服务器上部署了这段代码,但它不工作

4

1 回答 1

2

安全协议确定如何建立从客户端到代理的连接。每个 ( PLAINTEXT,SASL_PLAINTEXTSASL_SSL) 的工作方式不同,并且在一个端口上只有其中一个可用。

例如,如果您的代理使用 9093 侦听SASL_SSL,您需要使用此确切协议在此端口上进行连接。尝试其他安全协议预计会失败。

查看代理的advertised.listeners配置,以确定它们公开了哪些端口/协议组合。

于 2019-10-02T18:01:58.767 回答