Соединение MirrorMaker Kafka 0.9 с Kafka Brokers 0.10 (IBM Message Hub)

Я пытаюсь подключить MirroMaker Kafka 0.9 к Kafka Brokers 0.10 (IBM Message Hub), но безуспешно. Следующие ссылки приведены ниже, но в основном для клиентов Kafka 0.10:

https://console.bluemix.net/docs/services/MessageHub/messagehub050.html https://console.bluemix.net/docs/services/MessageHub/messagehub063.html

Знаете ли вы шаги для клиентов Kafka 0.9 и как использовать MessageHubLoginModule и создание jaas?

ОБНОВИТЬ

После разных тестов решение работает правильно.

2 ответа

Решение

Во-первых, вам не следует создавать новое приложение Message Hub с использованием Kafka 0.9.

Мы не рекомендуем настраиваемый модуль входа в систему 0.9, и наши новые кластеры не будут его поддерживать. Вы должны использовать клиент Kafka> = 0.10.2, так как они должным образом поддерживают аутентификацию Sasl Plain, которая требуется для Message Hub. Новые клиенты Kafka предлагают гораздо больше возможностей и просто лучше.


Если вы абсолютно застряли с 0,9, вам нужно:

  • Следующие свойства установлены:

    security.protocol=SASL_SSL
    ssl.protocol=TLSv1.2
    ssl.enabled.protocols=TLSv1.2
    
  • Файл JAAS, содержащий:

    KafkaClient {
        com.ibm.messagehub.login.MessageHubLoginModule required
        serviceName="kafka"
        username="<USERNAME>"
        password="<PASSWORD>";
    };
    
  • Пользовательский модуль входа в систему JAR в пути:

    Файл доступен на Github: https://github.com/ibm-messaging/message-hub-samples/blob/master/kafka-0.9/message-hub-login-library/messagehub.login-1.0.0.jar

  • java.security.auth.login.config Набор свойств Java:

    Он должен указывать на ваш файл JAAS и может быть:

    • в командной строке Java с помощью -Djava.security.auth.login.config=<PATH TO JAAS> или же
    • программно используя System.setProperty("java.security.auth.login.config", "<PATH TO JAAS>");

Чтобы подключиться к концентратору сообщений IBM с помощью средства создания зеркала cloudera, вы должны установить в менеджере cloudera свойство "Протокол защиты исходного кода Kafka": source.security.protocol как PLAINTEXT и передать следующие свойства как расширенный фрагмент конфигурации Kafka MirrorMaker (предохранительный клапан) для mirror_maker_consumers.properties:

security.protocol=SASL_SSL
sasl.mechanism=PLAIN
ssl.protocol=TLSv1.2
ssl.enabled.protocols=TLSv1.2
ssl.endpoint.identification.algorithm=HTTPS 

Это сработало для меня.

Другие вопросы по тегам