docker-composeビルドelasticsearchクラスター

一つ、踏まれたピット

1.ルートアカウントでelasticsearchクラスターを起動することはできません

rootアカウントはdockerのインストール時に使用され、elasticsearchクラスターを起動するとエラーが報告されます。

2. sshがサーバーに接続できない

長い間自分を投げた後、ようやく彼は作業命令を上げ、アリ兄弟はそれを解決するのを手伝いました。サーバーで問題が発生し、2時間以上解決できない場合は、サーバーをトスすることが目的でない限り、自分で解決しないでください。私のような目的はelasticsearchを学ぶことですので、他の分野にあまり時間をかけすぎず、ターゲットにされないでください。

3. Kibanaがesクラスターに接続できない

構成ファイルが正しくありません。マスターノードを指定する必要があります。

environment:
      - ELASTICSEARCH_HOSTS=http://es01:9200
      # 需要将Kibana配置文件中的小写转换成大写,然后这个才能用于变量,才能被设置到
      - I18N_LOCALE=zh-CN
      - xpack.monitoring.ui.container.elasticsearch.enabled=false

4. docker-composeをインストールします

python-pipでインストールしようとしたのですが、python-pipをインストールできませんでした。1時間投げた後、断念して諦めました。

 curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 

 chmod +x /usr/local/bin/docker-compose

第二に、構成ファイル

1.ディレクトリ構造

/usr/local/elasticsearch
      docker-compose.yml
      data
        es01
        es02
        es03
      config
        es01
          elasticsearch.yml
        es02
          elasticsearch.yml
        es03
          elasticsearch.yml
      logs
        es01
        es02
        es03

2、docker-compose.yml

version: '2'
services:
  cerebro:
    image: lmenezes/cerebro:0.8.4
    container_name: cerebro
    ports:
      - "9000:9000"
    command:
      - -Dhosts.0.host=http://elasticsearch:9200
    networks:
      - esnet
  kibana:
    image: kibana:7.3.0
    container_name: kibana
    environment:
      - ELASTICSEARCH_HOSTS=http://es01:9200
      # 需要将Kibana配置文件中的小写转换成大写,然后这个才能用于变量,才能被设置到
      - I18N_LOCALE=zh-CN
      - xpack.monitoring.ui.container.elasticsearch.enabled=false
    ports:
      - 5601:5601
    networks:
      - esnet
  es01:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.3.0
    container_name: es01
    restart: always
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./data/es01:/usr/share/elasticsearch/data
      - ./config/es01/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - ./logs/es01:/usr/share/elasticsearch/logs
    ports:
      - 9200:9200
      - 9300:9300
    networks:
      - esnet
  es02:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.3.0
    container_name: es02
    restart: always
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./data/es02:/usr/share/elasticsearch/data
      - ./config/es02/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - ./logs/es02:/usr/share/elasticsearch/logs
    depends_on:
      - es01
    networks:
      - esnet
  es03:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.3.0
    container_name: es03
    restart: always
    environment:
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - ./data/es03:/usr/share/elasticsearch/data
      - ./config/es03/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
      - ./logs/es03:/usr/share/elasticsearch/logs
    depends_on:
      - es01
    networks:
      - esnet

networks:
  esnet:

3. es0のマスターノードの設定ファイルelasticsearch.yml

cluster.name: es-cluster
node.name: es01
node.master: true
node.data: false
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/logs
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["es01", "es02", "es03"] 
cluster.initial_master_nodes: ["es01","es02","es03"]

http.cors.enabled: true
http.cors.allow-origin: "*"

xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false

4.データノードの設定ファイルelasticsearch.yml


```clike
cluster.name: es-cluster
node.name: es02
node.master: false
node.data: true
path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/logs
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["es01", "es02", "es03"]
cluster.initial_master_nodes: ["es01", "es02", "es03"]

http.cors.enabled: true
http.cors.allow-origin: "*"

xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false

5.クラスターを起動します

docker-compose up
元の記事103件を公開 15のような 訪問者90,000以上

おすすめ

転載: blog.csdn.net/epitomizelu/article/details/105592906