【问题标题】:MirrorMaker Kafka 0.9 connection to Kafka Brokers 0.10 (IBM Message Hub)MirrorMaker Kafka 0.9 连接到 Kafka Brokers 0.10 (IBM Message Hub)
【发布时间】:2018-09-15 15:19:28
【问题描述】:

我正在尝试将我的 MirroMaker Kafka 0.9 连接到 Kafka Brokers 0.10 (IBM Message Hub),但没有成功。我关注的链接如下,但它们主要针对 Kafka 客户端 0.10:

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

你知道 Kafka 客户端 0.9 的步骤以及如何使用 MessageHubLoginModule 和创建 jaas 吗?

更新

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

【问题讨论】:

    标签: message-hub


    【解决方案1】:

    为了使用 cloudera mirror maker 连接到 IBM 消息中心,您必须在 cloudera manager 中设置属性 Source Kafka Cluster's Security Protocol: source.security.protocol as PLAINTEXT 并将以下属性作为 Kafka MirrorMaker Advanced Configuration Snippet ( 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 
    

    它对我有用。

    【讨论】:

      【解决方案2】:

      首先,您不应该使用 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.config Java 属性集:

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

        • 在java命令行中使用-Djava.security.auth.login.config=&lt;PATH TO JAAS&gt;
        • 以编程方式使用System.setProperty("java.security.auth.login.config", "&lt;PATH TO JAAS&gt;");

      【讨论】:

      • 按照你的步骤我做了以下事情:1)(源Kafka集群的安全协议)source.security.protocol=SASL_SSL
      • 是的,我的步骤适用于 kafka 客户。正如您所提到的,MirrorMaker 需要进行一些更改
      • 抱歉评论太长了,我已经更新了我的问题
      • 请发布错误信息。但我再次建议使用更新的版本。 0.9 已过时且不再支持
      • 我注意到,在 Kafka 在启动时创建为 conf dir 的目录“/run/cloudera-scm-agent/process/944-kafka-KAFKA_MIRROR_MAKER”中,jaas 不是我在MirrorMaker Java 选项
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-21
      • 1970-01-01
      • 1970-01-01
      • 2016-07-09
      • 2016-10-08
      相关资源
      最近更新 更多