MirrorMaker Kafka 0.9 连接到 Kafka Brokers 0.10 (IBM Message Hub)
MirrorMaker Kafka 0.9 connection to 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 创建吗?
更新
经过不同的测试,解决方案工作正常。
首先,您不应使用 Kafka 0.9 构建新的 Message Hub 应用程序。
我们已弃用 0.9 要求的自定义登录模块,我们较新的集群将不支持它。您应该使用 >= 0.10.2 的 Kafka 客户端,因为它们正确支持 Message Hub 所需的 Sasl Plain 身份验证。较新的 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>");
为了使用 cloudera 镜像制造商连接到 IBM 消息中心,您必须在 cloudera 管理器中设置 属性 源 Kafka 集群的安全协议:source.security.protocol 作为 PLAINTEXT 并将以下属性作为 PLAINTEXT 传递mirror_maker_consumers.properties 的 Kafka MirrorMaker 高级配置片段(安全阀):
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
ssl.protocol=TLSv1.2
ssl.enabled.protocols=TLSv1.2
ssl.endpoint.identification.algorithm=HTTPS
对我有用。
我试图将我的 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 创建吗?
更新
经过不同的测试,解决方案工作正常。
首先,您不应使用 Kafka 0.9 构建新的 Message Hub 应用程序。
我们已弃用 0.9 要求的自定义登录模块,我们较新的集群将不支持它。您应该使用 >= 0.10.2 的 Kafka 客户端,因为它们正确支持 Message Hub 所需的 Sasl Plain 身份验证。较新的 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 命令行中使用
为了使用 cloudera 镜像制造商连接到 IBM 消息中心,您必须在 cloudera 管理器中设置 属性 源 Kafka 集群的安全协议:source.security.protocol 作为 PLAINTEXT 并将以下属性作为 PLAINTEXT 传递mirror_maker_consumers.properties 的 Kafka MirrorMaker 高级配置片段(安全阀):
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
ssl.protocol=TLSv1.2
ssl.enabled.protocols=TLSv1.2
ssl.endpoint.identification.algorithm=HTTPS
对我有用。