我已经安装了zookeeper和kafka,第一步:通过以下命令运行zookeeper:
bin/zkServer.sh start
bin/zkCli.sh
Run Code Online (Sandbox Code Playgroud)
第二步:运行kafka服务器
bin/kafka-server-start.sh config/server.properties
Run Code Online (Sandbox Code Playgroud)
kafka应该在localhost:9092运行
但我收到以下错误:
WARN Unexpected error from /0:0:0:0:0:0:0:1; closing connection (org.apache.kafka.common.network.Selector)
org.apache.kafka.common.network.InvalidReceiveException: Invalid receive (size = 1195725856 larger than 104857600)
Run Code Online (Sandbox Code Playgroud)
我是kafka的新手,请帮我设置一下.
Chr*_*own 23
1195725856 被GET[space]编码为大端、四字节整数(有关其工作原理的更多信息,请参见此处)。这表明 HTTP 流量正在发送到 Kafka 端口 9092,但 Kafka 不接受 HTTP 流量,它只接受自己的协议(将前四个字节作为接收大小,因此出现错误)。
由于错误是在启动时收到的,它可能是良性的,并且可能表明您的网络扫描端口上存在使用 Kafka 不理解的协议的扫描服务或类似服务。
为了找到原因,您可以使用 tcpdump 找到 HTTP 流量的来源:
tcpdump -i any -w trap.pcap dst port 9092
# ...wait for logs to appear again, then ^C...
tcpdump -qX -r trap.pcap | less +/HEAD
Run Code Online (Sandbox Code Playgroud)
总的来说,这可能很烦人但无害。至少 Kafka 实际上并没有分配/弄脏内存。:-)
Nik*_*aki 11
尝试将文件中的socket.request.max.bytes值重置$KAFKA_HOME/config/server.properties为超过数据包大小,然后重新启动kafka服务器.
我最初的猜测是您可能试图接收过大的请求。最大大小是 的默认大小socket.request.max.bytes,即 100MB。因此,如果您有一条大于 100MB 的消息,请尝试增加此变量的值,server.properties并确保在再次尝试之前重新启动集群。
如果上述方法不起作用,那么很可能您正在尝试连接到非 SSL 侦听器。如果您使用的是端口的默认代理,则需要验证 :9092 是该代理上的 SSL 侦听器端口。
例如,
listeners=SSL://:9092
advertised.listeners=SSL://:9092
inter.broker.listener.name=SSL
Run Code Online (Sandbox Code Playgroud)
应该为您解决问题(确保在重新配置这些属性后重新启动 Kafka)。
| 归档时间: |
|
| 查看次数: |
10534 次 |
| 最近记录: |