Logstash无法使用Kafka

时间:2017-11-13 08:32:37

标签: apache-kafka logstash apache-zookeeper

我的结构是这样的: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:] - INFO   [NIOServerCxn.Factory:0.0.0.0 / 0.0.0.0:2181:NIOServerCnxnFactory @ 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:] - INFO   [NIOServerCxn.Factory:0.0.0.0 / 0.0.0.0:2181:NIOServerCnxn @ 1040] -   客户端/127.0.0.1:53201的已关闭套接字连接(无会话   为客户建立)

此外,此语句中的端口号不断增加“从/ 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(zookeeper)

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之间的配置,但我不知道如何弄明白。请帮助。

1 个答案:

答案 0 :(得分:0)

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

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