ES集群问题,加入新节点导致集群中的节点异常退出问题

cfanbo
  • 658

mac系统

给已存在的es集群加入新的节点,发现总是把master节点异常退出。使用docker-compose创建的集群,参考官方文档:https://www.elastic.co/guide/...

集群创建:

version: '2.2'
services:
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.2.0
    container_name: es01
    environment:
      - node.name=es01
      - discovery.seed_hosts=es02
      - cluster.initial_master_nodes=es01,es02
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - esnet
  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.2.0
    container_name: es02
    environment:
      - node.name=es02
      - discovery.seed_hosts=es01
      - cluster.initial_master_nodes=es01,es02
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata02:/usr/share/elasticsearch/data
    networks:
      - esnet

volumes:
  esdata01:
    driver: local
  esdata02:
    driver: local

networks:
  esnet:

新节点 es03 的docker-compose.yaml

version: '2.2'
services:
  es03:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.2.0
    container_name: es03
    environment:
      - node.name=es03
      - node.data=true
      - cluster.name=docker-cluster
      - discovery.zen.ping.unicast.hosts=es01
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - esdata03:/usr/share/elasticsearch/data
    networks:
      - esnet

  
volumes:
  esdata03:
    driver: local

networks:
  esnet:
    external:
      name: es_esnet

集群网络为 es_esnet.
每次当 es03 启用的时候,es01自动退出,在es01里没有任何的退出原因。如果手动启用es01容器的话,则es02会退出,始终找不出来什么退出的原因?

回复
阅读 3.2k
2 个回答

退出code 是137,从这里看不是oom引起的

        "State": {
            "Status": "exited",
            "Running": false,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 0,
            "ExitCode": 137,
            "Error": "",
            "StartedAt": "2019-07-02T08:47:17.6081183Z",
            "FinishedAt": "2019-07-02T08:47:46.4081487Z"
        },

不过这个确实是由oom 引起的问题,主要是由于物理机器 给 docker 分配的内存不足引起的,还没有到程序启动那一时刻就给kill了,解决办法是调整docker分配的内存大小,参考:https://www.petefreitag.com/i...

我猜是不是因为es03加入后,Buckets太多导致master不停gc啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏