【问题标题】:Docker: cant send data from logstash container to Kafka containerDocker:无法将数据从logstash容器发送到Kafka容器
【发布时间】:2016-12-25 22:07:33
【问题描述】:

我有 2 个 docker 容器,1 个运行 Logstash,另一个运行 Zookeeper 和 Kafka。我正在尝试将数据从 Logstash 发送到 Kafka,但似乎无法将数据传递到我在 Kafka 中的主题。

我可以登录到 Docker Kafka 容器并从终端向我的主题生成一条消息,然后也可以使用它。

我正在使用输出kafka插件:

output {
    kafka {
        topic_id => "MyTopicName"
        broker_list => "kafkaIPAddress:9092"
    }
}

我运行docker inspect kafka2得到的ip地址

当我运行./bin/logstash agent --config /etc/logstash/conf.d/01-input.conf 时出现此错误。

Settings: Default pipeline workers: 4
Unknown setting 'broker_list' for kafka {:level=>:error}
Pipeline aborted due to error {:exception=>#<LogStash::ConfigurationError: Something is wrong with your configuration.>, :backtrace=>["/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/config/mixin.rb:134:in `config_init'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/outputs/base.rb:63:in `initialize'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/output_delegator.rb:74:in `register'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/pipeline.rb:181:in `start_workers'", "org/jruby/RubyArray.java:1613:in `each'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/pipeline.rb:181:in `start_workers'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/pipeline.rb:136:in `run'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.3-java/lib/logstash/agent.rb:473:in `start_pipeline'"], :level=>:error}
stopping pipeline {:id=>"main"}

我通过运行以下返回 OK 的命令检查了文件的配置。

 ./bin/logstash agent --configtest --config /etc/logstash/conf.d/01-input.conf
Configuration OK

有没有人遇到过这种情况,是我没有打开 kafka 容器上的端口吗?如果是,我该如何在保持 Kafka 运行的同时做到这一点?

【问题讨论】:

    标签: docker containers logstash apache-kafka docker-image


    【解决方案1】:

    错误在这里broker_list =&gt; "kafkaIPAddress:9092"

    试试bootstrap_servers =&gt; "KafkaIPAddress:9092" 如果容器在不同的机器上,将 kafka 映射到主机 9092 并使用主机地址:端口,如果在同一主机上使用内部 Docker IP:port

    【讨论】:

      猜你喜欢
      • 2020-02-09
      • 2020-01-30
      • 2015-02-15
      • 1970-01-01
      • 2021-04-25
      • 2015-05-05
      • 2019-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多