不支持Camel-Kafka安全协议SASL_PLAINTEXT

时间:2018-06-23 21:58:04

标签: java apache-kafka apache-camel kerberos cloudera

我需要使用Camel使用身份验证协议Kerberos将ActiveMQ消息路由到Kafka(Cloudera)。

  • ActiveMQ v5.15.4
  • 骆驼:2.21.1
  • Kafka客户:1.1.0
  • 服务器版本:Apache / 2.4.6(CentOS)

Kafka Security文档指出,它仅支持 SASL_PLAINTEXT
SASL_SSL (用于Kerberos)

另一方面,当我尝试将 SASL_PLAINTEXT 用于Camel中的安全协议时,在ActiveMQ启动期间出现错误。结果ActiveMQ无法启动。

我从https://github.com/apache/camel.git中获取了最新的Camel代码,它声明它仅支持 SSL PLAINTEXT 作为安全协议值。

我确实找到了以下已解决的问题:https://access.redhat.com/solutions/3364871,但是我没有发现任何证据表明该问题在最新的Camel版本中有效。

我的骆驼设置片段是:

<log message="Started The Producer Route" />
<to uri="kafka://10.100.70.00:9092?topic=MyEvents.s1.v1&amp;brokers=10.100.70.00:9092&amp;requestTimeoutMs=305000&amp;retries=3&amp;keySerializerClass=org.apache.kafka.common.serialization.ByteArraySerializer&amp;saslMechanism=GSSAPI&amp;serializerClass=org.apache.kafka.common.serialization.ByteArraySerializer&amp;securityProtocol=SASL_PLAINTEXT&amp;saslKerberosServiceName=kafka"/>

我正在使用外部Jaas配置文件。

骆驼不支持 SASL_PLAINTEXT 吗?

1 个答案:

答案 0 :(得分:1)

Camel使用Kafka客户端v1.1.0支持 SASL_PLAINTEXT 。问题是实际的安全参数没有传播到Camel界面。这意味着在ActiveMQ启动期间无法识别该参数。 我已经为此问题打开了issue