Centos 无法通过端口转发发送Kafka消息
我对使用端口转发向Kafka发送消息有疑问。我们正在使用Kafka的端口转发,如下所示:Centos 无法通过端口转发发送Kafka消息,centos,apache-kafka,portforwarding,kafka-producer-api,Centos,Apache Kafka,Portforwarding,Kafka Producer Api,我对使用端口转发向Kafka发送消息有疑问。我们正在使用Kafka的端口转发,如下所示: | Hostname | IP | Port | Port Forwarding | |----------|---------------|------|-----------------------| | kafka01 | 192.168.0.100 | 9092 | 106.107.118.119:30124 | | kafka02 | 192.168.0.10
| Hostname | IP | Port | Port Forwarding |
|----------|---------------|------|-----------------------|
| kafka01 | 192.168.0.100 | 9092 | 106.107.118.119:30124 |
| kafka02 | 192.168.0.101 | 9092 | 106.107.118.119:30125 |
| kafka03 | 192.168.0.102 | 9092 | 106.107.118.119:30126 |
要从我的本地主机连接到kafka broker,我必须使用VPN连接到这些地址192.168.0.X:9092
,它成功地从我的本地主机(我的笔记本电脑)向kafka发送了消息。但是,当将我的应用程序部署到必须使用端口转发连接到Kafka代理的实际服务器时,它不会向Kafka发送任何消息,并且不会显示任何错误
从真正的服务器,它仍然可以连接到kafka代理(telnet 106.107.118.119 30124
成功)。我不知道为什么。这是生产者配置:
INFO | jvm 1 | 2017/07/29 16:34:36 | [2017-07-29 04:34:36] INFO -
ProducerConfig values:
INFO | jvm 1 | 2017/07/29 16:34:36 | compression.type = none
INFO | jvm 1 | 2017/07/29 16:34:36 | metric.reporters = []
INFO | jvm 1 | 2017/07/29 16:34:36 | metadata.max.age.ms = 300000
INFO | jvm 1 | 2017/07/29 16:34:36 | metadata.fetch.timeout.ms =
60000
INFO | jvm 1 | 2017/07/29 16:34:36 | acks = 1
INFO | jvm 1 | 2017/07/29 16:34:36 | batch.size = 16384
INFO | jvm 1 | 2017/07/29 16:34:36 | reconnect.backoff.ms = 10
INFO | jvm 1 | 2017/07/29 16:34:36 | bootstrap.servers =
[106.107.118.119:30124, 106.107.118.119:30125, 106.107.118.119:30126]
INFO | jvm 1 | 2017/07/29 16:34:36 | receive.buffer.bytes = 32768
INFO | jvm 1 | 2017/07/29 16:34:36 | retry.backoff.ms = 100
INFO | jvm 1 | 2017/07/29 16:34:36 | buffer.memory = 33554432
INFO | jvm 1 | 2017/07/29 16:34:36 | timeout.ms = 30000
INFO | jvm 1 | 2017/07/29 16:34:36 | key.serializer = class
org.apache.kafka.common.serialization.StringSerializer
INFO | jvm 1 | 2017/07/29 16:34:36 | retries = 0
INFO | jvm 1 | 2017/07/29 16:34:36 | max.request.size = 1048576
INFO | jvm 1 | 2017/07/29 16:34:36 | block.on.buffer.full = true
INFO | jvm 1 | 2017/07/29 16:34:36 | value.serializer = class
org.apache.kafka.common.serialization.StringSerializer
INFO | jvm 1 | 2017/07/29 16:34:36 | metrics.sample.window.ms = 30000
INFO | jvm 1 | 2017/07/29 16:34:36 | send.buffer.bytes = 131072
INFO | jvm 1 | 2017/07/29 16:34:36 |
max.in.flight.requests.per.connection = 5
INFO | jvm 1 | 2017/07/29 16:34:36 | metrics.num.samples = 2
INFO | jvm 1 | 2017/07/29 16:34:36 | linger.ms = 1
INFO | jvm 1 | 2017/07/29 16:34:36 | client.id =
INFO | jvm 1 | 2017/07/29 16:34:36 | - in logAll() at line 113 of
class org.apache.kafka.common.config.AbstractConfig
它不会显示任何错误,但当使用简单的卡夫卡消费者应用程序时,卡夫卡中没有消息,而从我的计算机发送时有消息(
bootstrap.servers=[192.168.0.100:9092,192.168.0.101:9092,192.168.0.102:9092]
)。有人知道这个问题吗?你是如何设置听众的?你能发布你的服务器属性的相关部分吗?初始连接后,Kafka将根据配置向客户端公布其端点。公布。侦听器
(请参阅)应设置为“真实服务器”可以看到的地址(例如106.107.118.119:30124
),是这样吗?我试图将advised.listeners设置为106.107.118.119:30124,但它仍然无法发送消息。日志显示:“提供了配置'adverted.listeners',但不是已知配置”,我尝试了kafka 0.8和0.10。此问题仍然存在。您可以将服务器.properties
@keduadoi发布到或其他地方吗?