Kafka: сбой транспорта брокера при использовании протокола "SASL_PLAINTEXT" ИЛИ "PLAINTEXT" - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь подключить брокера Kafka с использованием "SASL_PLAINTEXT" или "PLAINTEXT" , но получаю эту ошибку сбой при транспортировке брокера . Тем не менее, он работает нормально с протоколом "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, и он не работает

1 Ответ

1 голос
/ 02 октября 2019

Протокол безопасности определяет способ установления связи между клиентами и брокерами. Каждый (PLAINTEXT, SASL_PLAINTEXT и SASL_SSL) работает по-разному, и только один из них доступен на порту.

Например, если ваши брокеры прослушивают 9093 с SASL_SSL, вам необходимоиспользуйте этот точный протокол для подключения к этому порту. Ожидается, что попытка использовать другие протоколы безопасности не удастся.

Посмотрите на конфигурацию advertised.listeners ваших брокеров, чтобы определить, какие комбинации портов / протоколов они предоставляют.

...