wso2 esb中的卡夫卡生产者超时
我们将看到Kafka 2.11和启用sasl的wso2 esb 6.2的例外情况。wso2 esb和Kafka clsuter中的SASL机制是佩林,但randmoly在日志中看到了错误2 是否有人遇到过此错误,并感谢您的帮助 错误1: java.util.concurrent.ExecutionException:org.apache.kafka.common.errors.TimeoutException:TESTTOPIC:30051 ms的1条记录自批创建加上延迟时间后过期 错误2:wso2 esb中的卡夫卡生产者超时,wso2,wso2esb,Wso2,Wso2esb,我们将看到Kafka 2.11和启用sasl的wso2 esb 6.2的例外情况。wso2 esb和Kafka clsuter中的SASL机制是佩林,但randmoly在日志中看到了错误2 是否有人遇到过此错误,并感谢您的帮助 错误1: java.util.concurrent.ExecutionException:org.apache.kafka.common.errors.TimeoutException:TESTTOPIC:30051 ms的1条记录自批创建加上延迟时间后过期 错误2: [
[2019-11-02 01:36:50265]错误-[Producer-clientId=Producer-4526]到节点的连接-1身份验证失败,原因是:客户端机制的意外握手请求。普通,启用的机制是[GSSAPI]{org.apache.kafka.clients.NetworkClient}根据第二条错误消息
*与客户端机制的意外握手请求普通,启用的机制是[GSSAPI]*
,似乎ESB端的SASLME机制没有正确配置。默认情况下,它配置为GSSAPI Kerberos
我建议您购买最新版本的卡夫卡连接器。您可以找到文档和相关链接
使用Kafka连接器的普通配置示例如下:
<kafkaTransport.init>
<bootstrapServers>localhost:9092</bootstrapServers>
<keySerializerClass>org.apache.kafka.common.serialization.StringSerializer</keySerializerClass>
<valueSerializerClass>org.apache.kafka.common.serialization.StringSerializer</valueSerializerClass>
<securityProtocol> SASL_PLAINTEXT </securityProtocol>
<saslMechanism> PLAIN </saslMechanism>
<saslJaasConfig>org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="12345"</saslJaasConfig>
<maxPoolSize>100</maxPoolSize>
</kafkaTransport.init>
本地主机:9092
org.apache.kafka.common.serialization.StringSerializer
org.apache.kafka.common.serialization.StringSerializer
SASL_明文
平原
org.apache.kafka.common.security.plain.PlainLoginModule所需用户名=“admin”密码=“12345”
100
这是使用卡夫卡连接器所需的相关配置。安全协议也可以配置为SASL_SSL
下面是一个这样的代理配置
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="KafkaTransport"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<kafkaTransport.init>
<bootstrapServers>localhost:9092</bootstrapServers>
<keySerializerClass>org.apache.kafka.common.serialization.StringSerializer</keySerializerClass>
<valueSerializerClass>org.apache.kafka.common.serialization.StringSerializer</valueSerializerClass>
<securityProtocol>SASL_SSL</securityProtocol>
<saslMechanism>PLAIN</saslMechanism>
<sslKeystoreLocation>/Users/Ibaqu/kafka.client.keystore.jks</sslKeystoreLocation>
<sslKeystorePassword>admin123</sslKeystorePassword>
<sslTruststoreLocation>/Users/Ibaqu/kafka.client.trustore.jks</sslTruststoreLocation>
<sslTruststorePassword>admin123</sslTruststorePassword>
<saslJaasConfig>org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="12345";</saslJaasConfig>
<maxPoolSize>100</maxPoolSize>
</kafkaTransport.init>
<kafkaTransport.publishMessages>
<topic>test</topic>
</kafkaTransport.publishMessages>
</inSequence>
</target>
<description/>
</proxy>
本地主机:9092
org.apache.kafka.common.serialization.StringSerializer
org.apache.kafka.common.serialization.StringSerializer
SASL_SSL
平原
/Users/Ibaqu/kafka.client.keystore.jks
管理员123
/Users/Ibaqu/kafka.client.trustore.jks
管理员123
org.apache.kafka.common.security.plain.PlainLoginModule所需用户名=“admin”密码=“12345”;
100
测试
您可以尝试使用此特定代理来测试您的连接 根据第二条错误消息
*使用客户端机制的意外握手请求普通,启用的机制是[GSSAPI]*
,似乎在ESB端没有正确配置SASLME机制。默认情况下,它配置为GSSAPI Kerberos
我建议您购买最新版本的卡夫卡连接器。您可以找到文档和相关链接
使用Kafka连接器的普通配置示例如下:
<kafkaTransport.init>
<bootstrapServers>localhost:9092</bootstrapServers>
<keySerializerClass>org.apache.kafka.common.serialization.StringSerializer</keySerializerClass>
<valueSerializerClass>org.apache.kafka.common.serialization.StringSerializer</valueSerializerClass>
<securityProtocol> SASL_PLAINTEXT </securityProtocol>
<saslMechanism> PLAIN </saslMechanism>
<saslJaasConfig>org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="12345"</saslJaasConfig>
<maxPoolSize>100</maxPoolSize>
</kafkaTransport.init>
本地主机:9092
org.apache.kafka.common.serialization.StringSerializer
org.apache.kafka.common.serialization.StringSerializer
SASL_明文
平原
org.apache.kafka.common.security.plain.PlainLoginModule所需用户名=“admin”密码=“12345”
100
这是使用卡夫卡连接器所需的相关配置。安全协议也可以配置为SASL_SSL
下面是一个这样的代理配置
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="KafkaTransport"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<kafkaTransport.init>
<bootstrapServers>localhost:9092</bootstrapServers>
<keySerializerClass>org.apache.kafka.common.serialization.StringSerializer</keySerializerClass>
<valueSerializerClass>org.apache.kafka.common.serialization.StringSerializer</valueSerializerClass>
<securityProtocol>SASL_SSL</securityProtocol>
<saslMechanism>PLAIN</saslMechanism>
<sslKeystoreLocation>/Users/Ibaqu/kafka.client.keystore.jks</sslKeystoreLocation>
<sslKeystorePassword>admin123</sslKeystorePassword>
<sslTruststoreLocation>/Users/Ibaqu/kafka.client.trustore.jks</sslTruststoreLocation>
<sslTruststorePassword>admin123</sslTruststorePassword>
<saslJaasConfig>org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="12345";</saslJaasConfig>
<maxPoolSize>100</maxPoolSize>
</kafkaTransport.init>
<kafkaTransport.publishMessages>
<topic>test</topic>
</kafkaTransport.publishMessages>
</inSequence>
</target>
<description/>
</proxy>
本地主机:9092
org.apache.kafka.common.serialization.StringSerializer
org.apache.kafka.common.serialization.StringSerializer
SASL_SSL
平原
/Users/Ibaqu/kafka.client.keystore.jks
管理员123
/Users/Ibaqu/kafka.client.trustore.jks
管理员123
org.apache.kafka.common.security.plain.PlainLoginModule所需用户名=“admin”密码=“12345”;
100
测试
您可以尝试使用此特定代理来测试您的连接