当filebeat输出数据到kafka时,filebeat日志中有很多警告消息。
...
*WARN producer/broker/0 maximum request accumulated, waiting for space
*WARN producer/broker/0 maximum request accumulated, waiting for space
...
我的filebeat配置没什么特别的:
...
output.kafka:
hosts: ["localhost:9092"]
topic: "log-oneday"
...
我还在kafka中更新了这些套接字设置:
...
socket.send.buffer.bytes=10240000
socket.receive.buffer.bytes=10240000
socket.request.max.bytes=1048576000
queued.max.requests=1000
...
但它不起作用。
有什么我想念的吗?或者我必须增加这些数字?
此外,在kafka服务器日志中找不到错误或异常
有没有专家对此有任何想法?
感谢
答案 0 :(得分:2)
显然,您的主题中只有一个分区。尝试增加主题的分区。有关详细信息,请参阅以下链接。
尝试以下命令(将信息替换为您的特定用例):
bin/kafka-topics.sh --zookeeper zk_host:port/chroot --alter --topic my_topic_name --partitions 40
答案 1 :(得分:0)
您需要配置3件事:
经纪人
Filebeat kafka输出
消费者
这里有个例子(根据您的环境更改路径)。
经纪人配置:
# open kafka server configuration file
vim /opt/kafka/config/server.properties
# add this line
# The largest record batch size allowed by Kafka.
message.max.bytes=100000000
# restart kafka service
systemctl restart kafka.service
Filebeat kafka输出:
output.kafka:
...
max_message_bytes: 100000000
消费者配置:
# larger than the max.message.size
max.partition.fetch.bytes=200000000