簡體   English   中英

在3個VM上部署Elasticsearch集群

[英]Deploying elasticsearch cluster on 3 vms

我使用docker-machine和VirtualBox創建了3個虛擬機,並且嘗試部署elasticseach。 我創建了這個docker-compose:

version: '3.0'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.2.1
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - esdatavm1:/usr/share/elasticsearch/data
    deploy:
      placement:
        constraints: [node.role == manager]
    ports:
      - 9200:9200
    networks:
      - esvmnet
  elasticsearch2:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.2.1
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "discovery.zen.ping.unicast.hosts=elasticsearch"
    volumes:
      - esdatavm2:/usr/share/elasticsearch/data
    deploy:
      placement:
        constraints: [node.role == worker]
    networks:
      - esvmnet
  elasticsearch3:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.2.1
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "discovery.zen.ping.unicast.hosts=elasticsearch"
    volumes:
      - esdatavm3:/usr/share/elasticsearch/data
    deploy:
      placement:
        constraints: [node.role == worker]
    networks:
      - esvmnet
volumes:
  esdatavm1:
    driver: local
  esdatavm2:
    driver: local
  esdatavm3:
    driver: local
networks:
  esvmnet:

但是elasticsearch無法繼續,我收到以下警告消息:

[2018-02-17T17:40:12,751][WARN ][o.e.b.JNANatives         ] Unable to lock JVM Memory: error=12, reason=Cannot allocate memory
[2018-02-17T17:40:12,753][WARN ][o.e.b.JNANatives         ] This can result in part of the JVM being swapped out.
[2018-02-17T17:40:12,753][WARN ][o.e.b.JNANatives         ] Increase RLIMIT_MEMLOCK, soft limit: 65536, hard limit: 65536
[2018-02-17T17:40:12,753][WARN ][o.e.b.JNANatives         ] These can be adjusted by modifying /etc/security/limits.conf, for example: 
    # allow user 'elasticsearch' mlockall
    elasticsearch soft memlock unlimited
    elasticsearch hard memlock unlimited

在那個彈性死后:

ERROR: [1] bootstrap checks failed
[1]: memory locking requested for elasticsearch process but memory is not locked
[2018-02-17T17:40:26,490][INFO ][o.e.n.Node               ] [F8VD2bv] stopping ...

我是否應該像警告中所說的那樣設置ulmit? 在boot2docker中,我沒有任何/etc/security/limits.conf文件,應該在哪里設置該選項?

有人可以幫我嗎? 非常感謝。 問候。

問題不同。 我嘗試在單節點計算機上復制。

問題如下

[oebBootstrapChecks] [4qfUlP0]綁定或發布到非環回或非鏈接本地地址,強制執行引導檢查錯誤:[1]引導檢查失敗[1]:為Elasticsearch進程請求了內存鎖定,但內存未鎖定

只是取消注釋環境中的線

- bootstrap.memory_lock=true

否則,請仔細閱讀Elastic文檔有關環境變量的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM