【问题标题】:Logstash cannot consume from KafkaLogstash 无法从 Kafka 消费
【发布时间】:2018-04-25 21:01:11
【问题描述】:

我的结构是这样的:Logfiles > Filebeat > Kafka > Logstash > Elasticsearch > Kibana

但我被卡在 Kafka 到 Logstash 部分。

首先,Filebeat 可以向 Kafka 生成消息,我可以使用以下方法进行检查:

kafka-console-consumer.bat --zookeeper localhost:2181 --topic {topicName} --from-beginning

而且也可以通过命令来消费:

kafka-console-consumer.bat --zookeeper localhost:2181 --topic {topicName}

但是,当我尝试使用 logstash 来消费主题时,什么都无法检索到并且 Zookeeper 不断抛出:

2017-11-13 16:11:59,205 [myid:] - 信息 [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCxnFactory@215] - 接受来自 /127.0.0.1:53201 的套接字连接

2017-11-13 16:11:59,207 [myid:] - 警告 [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:21 81:NIOServerCnxn@383] - 导致会话 0x0 关闭的异常:null

2017-11-13 16:11:59,209 [myid:] - 信息 [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1040] - 客户端的关闭套接字连接 /127.0.0.1:53201(无会话 为客户建立)

此外,该语句中的端口号不断增加“Accepted socket connection from /127.0.0.1:53201”。是在扫描端口吗?

以下是一些背景。 版本:

动物园管理员-3.4.11

kafka_2.10-0.10.2.1

logstash-5.4.0

(插件)logstash-input-kafka (5.1.6)

这是我的配置:

Zoo.cfg(动物园管理员)

tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181

server.properties (Kafka)

listeners=PLAINTEXT://localhost:9092
zookeeper.connect=127.0.0.1:2181

logstash.config (logstash)

input {
    kafka {
        bootstrap_servers => "localhost:2181"
        topics => "test"
    }   
}

我猜这个问题是由于 zookeeper 和 kafka 之间的配置造成的,但我不知道如何解决。请帮忙。

【问题讨论】:

    标签: apache-kafka logstash apache-zookeeper


    【解决方案1】:

    您需要将localhost:9092 用于配置参数bootstrap_servers - 您将Logstash 指向Zookeeper,但您需要指向Kafka 本身。

    另一个错误是topics需要一个数组,所以它应该是["test"]而不是"test"

    【讨论】:

    • 谢谢亚历克斯!我改为直接指向kafka,但仍然没有从kafka消耗任何东西。我错过了什么设置吗? (我不断向kafka发送新条目)
    • 抱歉,错过了另一个错误 - topics 是一个数组 - 更新了答案
    • 现在可以使用了!主题=>“测试”到主题=> [“测试”]
    猜你喜欢
    • 2018-10-31
    • 2019-11-21
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    • 2019-09-23
    • 2020-05-23
    • 2018-06-06
    • 2018-11-29
    相关资源
    最近更新 更多