我有一个在 AWS 上运行的 Kafka 集群。我想用标准连接到集群卡夫卡控制台消费者从我的应用程序服务器。应用程序服务器可以通过 SOCKS 代理访问互联网。无需身份验证
如何告诉 Kafka 客户端通过代理进行连接?
我尝试了很多事情,包括将标准 JVM 代理参数添加到kaka-run-class.sh脚本。但我仍然得到一个连接被拒绝 error.
exec $JAVA -DsocksProxyHost=proxy.host.name -DsocksProxyPort=1080 $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"
Edit:事实证明,Kafka 使用的是 java.nio 库。它的套接字实现与代理不兼容。所以我使用的jvm参数对Kafka客户端没有影响。
正如评论和编辑中提到的,提问者已经找到了解决方案/根本原因:
事实证明,Kafka 使用的是 java.nio 库。这是插座
实现与代理不兼容。所以jvm参数我
使用对 Kafka 客户端没有影响。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)