Подключение 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#kafka_using https://console.bluemix.net/docs/services/MessageHub/messagehub063.html#kafka_connect

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

ОБНОВИТЬ

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


person Edoardo Basili    schedule 05.04.2018    source источник


Ответы (2)


Чтобы подключиться к концентратору сообщений IBM с помощью создателя зеркал cloudera, вы должны установить в диспетчере cloudera свойство Source Kafka Cluster's Security Protocol: source.security.protocol как PLAINTEXT и передать следующие свойства как фрагмент расширенной конфигурации Kafka MirrorMaker (Safety Valve) для 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 

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

person Beniamino Del Pizzo    schedule 12.04.2018

Во-первых, вам не следует создавать новое приложение 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 и может быть:

    • in the java command line using -Djava.security.auth.login.config=<PATH TO JAAS> or
    • программно с использованием System.setProperty("java.security.auth.login.config", "<PATH TO JAAS>");
person Mickael Maison    schedule 06.04.2018
comment
Следуя вашим шагам, я сделал следующее: 1) (Исходный протокол безопасности кластера Kafka) source.security.protocol=SASL_SSL - person Edoardo Basili; 06.04.2018
comment
Да, мои шаги предназначены для клиентов kafka. Как вы упомянули, MirrorMaker нуждается в некоторых изменениях. - person Mickael Maison; 06.04.2018
comment
Извините, комментарий был слишком длинным, я добавил обновление по моему вопросу. - person Edoardo Basili; 06.04.2018
comment
Пожалуйста, опубликуйте сообщения об ошибках. Но опять же, я рекомендую использовать более новую версию. 0.9 устарела и не поддерживается - person Mickael Maison; 06.04.2018
comment
Я заметил, что в каталоге /run/cloudera-scm-agent/process/944-kafka-KAFKA_MIRROR_MAKER, который Kafka создает при запуске как каталог conf, jaas не тот, который я указываю в параметрах Java MirrorMaker. - person Edoardo Basili; 06.04.2018