Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Centos 无法通过端口转发发送Kafka消息_Centos_Apache Kafka_Portforwarding_Kafka Producer Api - Fatal编程技术网

Centos 无法通过端口转发发送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

我对使用端口转发向Kafka发送消息有疑问。我们正在使用Kafka的端口转发,如下所示:

| 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发布到或其他地方吗?