当前位置: 首页 > 知识库问答 >
问题:

关于使用kafka、zookeeper和elastic search运行docker compose文件时出错

终育
2023-03-14

下午好,我正在调试docker compose文件的执行,该文件使用了我开发的两个微服务,一个kafka节点,另一个zookeeper节点,另一个用于elasticsearch,最后是kibana sense。

当我运行docker-comact up命令时,会出现异常:

demo-kafka-elastic_1  | Caused by: org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: [{#transport#-1}{elastic}{172.21.0.5:9300}]
...
web - 2018-05-14 16:47:12,750 [elasticsearch[Neurotap][generic][T#1]] WARN  org.elasticsearch.client.transport - [Neurotap] node {#transport#-1}{elastic}{172.21.0.5:9300} not part of the cluster Cluster [elasticsearch_aironman], ignoring...

这是完整输出的链接,它很大。。。

这是我真正的码头工人。yml文件:

version: '3.6'
services:
demo-kafka-elastic:
image: aironman/demo-kafka-elastic:0.0.1-SNAPSHOT
deploy:
  replicas: 5
  resources:
    limits:
      cpus: "0.5"
      memory: 512M
  restart_policy:
      condition: on-failure

 demo-quartz:
 image: aironman/demo-quartz:0.0.1-SNAPSHOT
 deploy:
  replicas: 5
  resources:
    limits:
      cpus: "0.5"
      memory: 512M
  restart_policy:
      condition: on-failure

 zookeeper:
 image: wurstmeister/zookeeper
 ports:
  - "2181:2181"

 kafka:
 image: wurstmeister/kafka
 ports:
  - "9092:9092"
 environment:
  KAFKA_BROKER_ID: 1
  KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
  KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
  KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
 volumes:
  - /var/run/docker.sock:/var/run/docker.sock

 elastic:
  image: elasticsearch:2.4.0
  container_name: elastic
  environment:
    - cluster.name=elastic-cluster
    - http.host=0.0.0.0
    - network.publish_host=127.0.0.1
    - transport.tcp.port=9700
    - discovery.type=single-node
    - xpack.security.enabled=false
    - client.transport.sniff=false
  volumes: 
    - ./esdata/:/usr/share/elasticsearch/data/
  ports:
    - "9600:9200"
    - "9700:9700"

 kibana:
 image: seeruk/docker-kibana-sense:4.5
 ports:
  - "5601:5601"
 environment:
  - ELASTICSEARCH_URL=http://elastic:9200      

我确信我正在深入Kafka主题,我可以从Kafka主题中聆听,但我无法将恢复的json插入elasticsearch-2.4.0,我的问题是为什么不使用docker compose运行?因为我可以在本地模式下运行相同的进程,kafka、zookeeper和elastic在本地运行。我必须在docker compose中更改什么。yml文件是否正常工作?

我在堆栈溢出中见过这个链接,但它不起作用。

这是demo kafka elastic的链接,这是demo quartz

使现代化

我从官方论坛上读到了这个可能的解决方案,使用elastic head插件,我可以看到docker容器默认分配的集群名称,并且我尝试与集群匹配。docker compose文件中的name环境变量,但它不起作用。

共有1个答案

仲孙鸿畴
2023-03-14

好的,明白了!问题是在我的申请中。属性文件中有一个名为

spring.data.elasticsearch.cluster-name=elasticsearch_aironman

干扰环境变量

簇名称

我用在docker-compose.yml.

从应用程序中删除该行。属性文件起到了作用。

 类似资料:
  • 我在以下位置安装了Kafka 可以看出,目录名不包括版本(谷歌搜索告诉删除目录名中的版本)。 我仍然面对这个问题。

  • 我试图使用控制台生成器写入主题,但遇到LeaderNotAvailableException异常: 我还应该指出,这在最初的几天内是有效的,然后突然间,任何一个被创建的主题都有这个缺少领导者的问题。

  • 我正在尝试在zookeeper和kafka之间设置kerberos标识。 我遵循了此处提供的配置步骤:https://docs.confluent.io/4.1.1/kafka/authentication_sasl_gssapi.html#sasl-gssapi经纪人。 Kafka代理成功连接到zookeeper集合,代理正在zNode上设置ACL。 在Zookeeper中,我可以看到znode

  • 我是Kafka的初学者 1/我下载了Kafka的1.0.0版本 2/I更改了bith server.properties和zookeeper.properties中的数据目录位置属性 你能帮帮我吗?

  • 我是Node.js的新手,我试图通过Node.js运行我的测试文件。我只是简单地键入“node.\tut63.js”,但它显示了以下错误: 错误:在function.module._resolveFilename(internal/module/cjs/loader.js:880:15)(internal/module/cjs/loader.js:725:27) 在function.module.

  • 我想将数据从数据仓库摄取到kafka中,然后将avro记录存储到mySQL RDMS中。我想消除对动物园管理员的依赖。不使用动物园管理员可以做到这一点吗?