Camel Kafka java.io.EOFException-NetworkReceive.readFromReadableChannel
我正在尝试使用Kerberos从ActiveMQ骆驼桥向Kafka(Cloudera)生成消息Camel Kafka java.io.EOFException-NetworkReceive.readFromReadableChannel,java,apache-kafka,apache-camel,activemq,kerberos,Java,Apache Kafka,Apache Camel,Activemq,Kerberos,我正在尝试使用Kerberos从ActiveMQ骆驼桥向Kafka(Cloudera)生成消息 ActiveMQv5.15.4 骆驼:2.21.1 卡夫卡客户端:1.1.0 服务器版本:Apache/2.4.6(CentOS) camel.xml snipet是: <log message="Started The Producer Route" /> <to uri="kafka://10.100.70.00:9092?topic=MyEvents.s1.v1&a
- ActiveMQv5.15.4
- 骆驼:2.21.1
- 卡夫卡客户端:1.1.0
- 服务器版本:Apache/2.4.6(CentOS)
<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=PLAINTEXT&saslKerberosServiceName=kafka"/>
日志级别:调试
Jaas文件:
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
keyTab="./user.keytab"
useTicketCache=false
serviceName="kafka"
principal=" Group/user@DOMAIN.LAN";
};
出口:
KAFKA_OPTS="-Djava.security.auth.login.config=/opt/activemq/conf/Jaas.conf"
当我发送消息时,我在调试级别收到以下日志,但消息未被传递:
java.io.EOFException
at org.apache.kafka.common.network.NetworkReceive.readFromReadableChannel(NetworkReceive.java:124)[kafka-clients-1.1.0.jar:]
at org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:93)[kafka-clients-1.1.0.jar:]
at org.apache.kafka.common.network.KafkaChannel.receive(KafkaChannel.java:235)[kafka-clients-1.1.0.jar:]
at org.apache.kafka.common.network.KafkaChannel.read(KafkaChannel.java:196)[kafka-clients-1.1.0.jar:]
at org.apache.kafka.common.network.Selector.attemptRead(Selector.java:557)[kafka-clients-1.1.0.jar:]
at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:495)[kafka-clients-1.1.0.jar:]
at org.apache.kafka.common.network.Selector.poll(Selector.java:424)[kafka-clients-1.1.0.jar:]
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:460)[kafka-clients-1.1.0.jar:]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:239)[kafka-clients-1.1.0.jar:]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:163)[kafka-clients-1.1.0.jar:]
at java.lang.Thread.run(Thread.java:748)[:1.8.0_171
在INFO级别,我只在日志中看到:
WARN | [Producer clientId=producer-1] Bootstrap broker 10.100.70.00:9092 (id: -1 rack: null) disconnected | org.apache.kafka.clients.NetworkClient | kafka-producer-network-thread | producer-1
为什么我会犯这个错误?请帮忙 此错误是由未经授权的用户向卡夫卡发送消息造成的 通过验证keytab文件作为先决条件,可以缓解此类问题:
- 从keytab文件验证服务帐户名:
klist-k-t
- 通过Active Directory身份验证:
kinit-k-t
不得有任何错误。请避免一次问多个不同的问题。请参阅页面以获取澄清此问题的帮助。
WARN | [Producer clientId=producer-1] Bootstrap broker 10.100.70.00:9092 (id: -1 rack: null) disconnected | org.apache.kafka.clients.NetworkClient | kafka-producer-network-thread | producer-1