簡體   English   中英

Logstash Kafka 輸入無法連接

[英]Logstash Kafka input cannot connect

我正在嘗試根據本教程構建一個管道,其中 Kafka 使用文件源連接器從文件中讀取。 這些 Docker 映像用於 Elastic Stack,我想將 Logstash 注冊為“quickstart-data”主題的使用者,但目前我失敗了。

這是我的 logstash.conf 文件:

input {
  kafka {
    bootstrap_servers => 'localhost:9092'
    topics => 'quickstart-data'
  }
}

output {
  elasticsearch {
    hosts => [ 'elasticsearch']
    user => 'elastic'
    password => 'changeme'
  }
  stdout {}
}

與 Elasticsearch 的連接有效,因為我使用心跳輸入對其進行了測試。 我得到的消息錯誤如下:無法建立到節點 -1 的連接。 經紀人可能不可用。 由於沒有可用節點,因此放棄發送元數據請求

有任何想法嗎?

我建議您保持簡單並使用 Kafka Connect 將數據登陸到 Elasticsearch: https : //docs.confluent.io/current/connect/connect-elasticsearch/docs/elasticsearch_connector.html#quick-start

可能有更好的方法來做到這一點,但在這里我如何糾正問題:

  1. 將我的 Zookeeper 和 Kafka 圖像更改為 Confluent 圖像
zookeeper:
    image: confluentinc/cp-zookeeper:latest
    ports: 
      - "2181:2181"
    environment: 
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
    networks: 
      - stack
  kafka:
    image: confluentinc/cp-kafka:latest
    ports:
      - "9092:9092"
    environment:
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
    depends_on: 
      - zookeeper
    networks: 
      - stack
  1. Logstash 配置(請注意端口為 2902):
input {
    stdin{}
    kafka {
        id => "my_kafka_1"
        bootstrap_servers => "kafka:29092"
        topics => "test"
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM