我需要使用Camel使用身份验证协议Kerberos将ActiveMQ消息路由到Kafka(Cloudera)。
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&brokers=10.100.70.00:9092&requestTimeoutMs=305000&retries=3&keySerializerClass=org.apache.kafka.common.serialization.ByteArraySerializer&saslMechanism=GSSAPI&serializerClass=org.apache.kafka.common.serialization.ByteArraySerializer&securityProtocol=SASL_PLAINTEXT&saslKerberosServiceName=kafka"/>
我正在使用外部Jaas配置文件。
骆驼不支持 SASL_PLAINTEXT 吗?
答案 0 :(得分:1)
Camel使用Kafka客户端v1.1.0支持 SASL_PLAINTEXT 。问题是实际的安全参数没有传播到Camel界面。这意味着在ActiveMQ启动期间无法识别该参数。 我已经为此问题打开了issue。