【问题标题】:Microservice can not reach Elasticsearch Image微服务无法访问 Elasticsearch Image
【发布时间】:2019-11-15 02:43:38
【问题描述】:

我有一个带有 Jhipster 版本 5v 的微服务和一个在 vagrant centos 7v 中运行的 ElasticSearch 的图像 2.4.1。两个镜像正在运行,但保存和搜索操作无法到达 Elasticsearch 镜像。

码头工人撰写:

service-app:
    image: "..."
    depends_on:
      - service-mysql
      - service-elasticsearch
      - kafka
      - zookeeper
      - jhipster-registry
    environment:
      - SPRING_PROFILES_ACTIVE=dev,swagger
      - SPRING_CLOUD_CONFIG_URI=http://admin:admin@jhipster-registry:8761/config
      - SPRING_DATASOURCE_URL=jdbc:mysql://service-mysql:3306/service?useUnicode=true&characterEncoding=utf8&useSSL=false
      - SPRING_DATA_CASSANDRA_CONTACTPOINTS=cassandra
      - JHIPSTER_SLEEP=30
      - JHIPSTER_LOGGING_LOGSTASH_HOST=jhipster-logstash
      - JHIPSTER_LOGGING_LOGSTASH_PORT=5000
      - SPRING_DATA_ELASTICSEARCH_CLUSTER-NAME=SERVICE
      - SPRING_DATA_ELASTICSEARCH_CLUSTER_NODES=service-elasticsearch:9300
      - SPRING_CLOUD_STREAM_KAFKA_BINDER_BROKERS=kafka
      - SPRING_CLOUD_STREAM_KAFKA_BINDER_ZK_NODES=zookeeper
      - EUREKA_CLIENT_SERVICEURL_DEFAULTZONE=http://admin:admin@jhipster-registry:8761/eureka
    ports:
      - 60088:8088
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "10"

  service-elasticsearch:
    image: ...
    volumes:
      - service-elasticsearch:/usr/share/elasticsearch/data/
    environment:
      - network.host=0.0.0.0
      - cluster.name=service
      - discovery.type=single-node
      - CLUSTER_NAME=SERVICE
    logging:
      driver: "json-file"
      options:
        max-size: "100m" 
        max-file: "10"

application_dev.yml:

    data:
        elasticsearch:
            properties:
                path:
                    home: target/elasticsearch

application_prod:

    data:
        jest:
            uri: http://localhost:9200

域名:

【问题讨论】:

  • 你验证ES运行了吗
  • 是的,我检查了日志并且正在运行,但在完成操作时没有反应。它总是这样打印:“[2019-07-04 11:27:20,746][INFO][cluster.routing.allocation.decider][Gaia] 重新路由分片:[一个或多个节点上超出了高磁盘水印] [2019- 07-04 11:27:50,747][WARN][cluster.routing.allocation.decider][Gaia] [eZvec2BWSuuyDYdi8OrdQA][Gaia][/usr/share/elasticsearch/data/SERVICE] 上超过了高磁盘水印 [90%] /nodes/0] free: 2.2gb[5.4%], shards 将被搬离这个节点"
  • 你能解决这个问题吗

标签: spring-boot elasticsearch microservices jhipster


【解决方案1】:

问题是您的集群中的一个 ES 节点在低磁盘空间上运行,因此您收到 this 异常。

请确保您清理了遇到异常的 ES 节点上的磁盘空间。我遇到过这个问题 2-3 次,它不依赖于 Elasticsearch 索引大小,因此即使您在大磁盘上的索引可能非常小(假设 2 TB),但如果您不这样做没有超过 10% 的可用磁盘空间(几乎是 200 GB,这是巨大的)你仍然会得到这个异常,你需要清理你的磁盘空间。

【讨论】:

  • 很高兴它有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-26
  • 2019-10-22
  • 2017-01-22
  • 2020-07-06
  • 1970-01-01
  • 2019-11-11
  • 1970-01-01
相关资源
最近更新 更多