如何解决wso2 2.1.0 无法向端点发送事件 BinaryDataEndpoint 端口 9611,集群解决方案
我对 BinaryDataEndpoint 的解释有问题。堆栈跟踪如下所示:
TID: [-1] [] [2021-01-17 02:49:59,390] ERROR {org.wso2.carbon.databridge.agent.endpoint.DataEndpoint} - Unable to send events to the endpoint. {org.wso2.carbon.databridge.agent.endpoint.DataEndpoint}
org.wso2.carbon.databridge.agent.exception.DataEndpointException: Error while trying to publish events to data receiver :/10.0.51.73:9611
at org.wso2.carbon.databridge.agent.endpoint.binary.BinaryDataEndpoint.send(BinaryDataEndpoint.java:85)
at org.wso2.carbon.databridge.agent.endpoint.DataEndpoint$EventPublisher.publish(DataEndpoint.java:318)
at org.wso2.carbon.databridge.agent.endpoint.DataEndpoint$EventPublisher.run(DataEndpoint.java:271)
at java.lang.Thread.run(Thread.java:748)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.nio.BufferOverflowException
at java.nio.HeapByteBuffer.put(HeapByteBuffer.java:189)
at java.nio.ByteBuffer.put(ByteBuffer.java:859)
at org.wso2.carbon.databridge.commons.binary.BinaryMessageConverterUtil.assignData(BinaryMessageConverterUtil.java:71)
at org.wso2.carbon.databridge.agent.endpoint.binary.BinaryEventSender.sendBinaryPublishMessage(BinaryEventSender.java:88)
at org.wso2.carbon.databridge.agent.endpoint.binary.BinaryDataEndpoint.send(BinaryDataEndpoint.java:75)
... 8 more
在集群的两台独立机器上有两个 api-manager 实例。还有一个分析实例运行在两者的第二台机器上。
当我查看正在侦听的端口时,我可以看到端口 9611(和端口 9711)正在侦听 10.0.51.73(我从 api 管理器获取异常/堆栈跟踪的同一台机器)。我还可以看到端口 9612(和端口 9712)正在侦听另一台机器 (10.0.51.74) 上的 Analytics 实例。 Analytics 的 Offset 为 1,而 api-managers 的 Offset 为 0(因为它们无论如何都在不同的机器上)。如果我将“二进制”(节流)配置为连接到 10.0.51.74 端口 9612(Analytics 实例上的侦听端口),似乎也无济于事。我得到了同样的错误。
现在的配置是这样的:
data-bridge-config.xml
<dataReceiver name="Thrift">
<config name="tcpPort">7611</config>
<config name="sslPort">7711</config>
</dataReceiver>
<dataReceiver name="Binary">
<config name="tcpPort">9611</config>
<config name="sslPort">9711</config>
<config name="sslReceiverThreadPoolSize">100</config>
<config name="tcpReceiverThreadPoolSize">100</config>
api-manager.xml:
<ThrottlingConfigurations>
<EnableAdvanceThrottling>true</EnableAdvanceThrottling>
<DataPublisher>
<Enabled>true</Enabled>
<Type>Binary</Type>
<!-- <ReceiverUrlGroup>tcp://${carbon.local.ip}:${receiver.url.port}</ReceiverUrlGroup> -->
<ReceiverUrlGroup>tcp://10.0.51.73:9611</ReceiverUrlGroup>
<!-- <AuthUrlGroup>ssl://${carbon.local.ip}:${auth.url.port}</AuthUrlGroup> -->
<AuthUrlGroup>ssl://10.0.51.73:9711</AuthUrlGroup>
<Username>${admin.username}</Username>
<Password>${admin.password}</Password>
<DataPublisherPool>
<MaxIdle>1000</MaxIdle>
<InitIdleCapacity>200</InitIdleCapacity>
</DataPublisherPool>
Thrift 似乎工作正常,但引发此异常的是 Binary。如何正确配置以消除错误?
问候
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。