![](/img/trans.png)
[英]Cannot connect to kafka docker container from logstash docker container
[英]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
可能有更好的方法來做到這一點,但在這里我如何糾正問題:
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
input {
stdin{}
kafka {
id => "my_kafka_1"
bootstrap_servers => "kafka:29092"
topics => "test"
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.