2

我正在尝试将我的 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 创建吗?

更新

经过不同的测试,该解决方案可以正常工作。

4

2 回答 2

2

为了使用 cloudera 镜像制造商连接到 IBM 消息中心,您必须在 cloudera 管理器中设置属性 Source Kafka Cluster's Security Protocol: 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 

它对我有用。

于 2018-04-12T11:53:42.693 回答
1

首先,您不应该使用 Kafka 0.9 构建新的 Message Hub 应用程序。

我们已经弃用了 0.9 要求的自定义登录模块,并且我们较新的集群将不支持它。您应该使用 Kafka 客户端 >= 0.10.2,因为它们正确支持 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.configJava 属性集:

    它需要指向您的 JAAS 文件,并且可以是:

    • 在 java 命令行中使用-Djava.security.auth.login.config=<PATH TO JAAS>or
    • 以编程方式使用System.setProperty("java.security.auth.login.config", "<PATH TO JAAS>");
于 2018-04-06T12:53:10.380 回答