Соединение 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>");
- в командной строке Java с помощью
Чтобы подключиться к концентратору сообщений 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
Это сработало для меня.