docker compose安装
1. 安装docker-compose
curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
2. 编写配置文件docker-compose.yml
version: "3.3"
networks:
escluster:
services:
es01:
image: elasticsearch:7.16.2
ports:
- "9201:9201"
- "9301:9301"
networks:
- "escluster"
volumes:
- ../es-cluster/node-1/data:/usr/share/elasticsearch/data
- ../es-cluster/node-1/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ../es-cluster/node-1/plugins:/usr/share/elasticsearch/plugins
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
es02:
image: elasticsearch:7.16.2
ports:
- "9202:9202"
- "9302:9302"
networks:
- "escluster"
volumes:
- ../es-cluster/node-2/data:/usr/share/elasticsearch/data
- ../es-cluster/node-2/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ../es-cluster/node-2/plugins:/usr/share/elasticsearch/plugins
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
es03:
image: elasticsearch:7.16.2
ports:
- "9203:9203"
- "9303:9303"
networks:
- "escluster"
volumes:
- ../es-cluster/node-3/data:/usr/share/elasticsearch/data
- ../es-cluster/node-3/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ../es-cluster/node-3/plugins:/usr/share/elasticsearch/plugins
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
3. 编写配置文件elasticsearch.yml,并创建对应映射目录
# ======================== Elasticsearch Configuration =========================
#
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
# Before you set out to tweak and tune the configuration, make sure you
# understand what are you trying to accomplish and the consequences.
#
# The primary way of configuring a node is via this file. This template lists
# the most important settings you may want to configure for a production cluster.
#
# Please consult the documentation for further information on configuration options:
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html
#
# ---------------------------------- Cluster -----------------------------------
#
# Use a descriptive name for your cluster:
#
cluster.name: es-cluster
gateway.recover_after_nodes: 2
http.cors.enabled: true
http.cors.allow-origin: "*"
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: node-1
#
# Add custom attributes to the node:
#
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
#path.data: /opt/data/elasticsearch
#
# Path to log files:
#
#path.logs: /var/log/elasticsearch
#
# ----------------------------------- Memory -----------------------------------
#
# Lock the memory on startup:
#
#bootstrap.memory_lock: true
#
# Make sure that the heap size is set to about half the memory available
# on the system and that the owner of the process is allowed to use this
# limit.
#
# Elasticsearch performs poorly when the system is swapping the memory.
#
# ---------------------------------- Network -----------------------------------
#
# By default Elasticsearch is only accessible on localhost. Set a different
# address here to expose this node on the network:
#
network.host: 0.0.0.0
network.publish_host: 192.168.3.123
#
# By default Elasticsearch listens for HTTP traffic on the first free port it
# finds starting at 9200. Set a specific HTTP port here:
#
http.port: 9201
transport.tcp.port: 9301
#
# For more information, consult the network module documentation.
#
# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when this node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
discovery.seed_hosts: ["192.168.3.123:9301", "192.168.3.123:9302", "192.168.3.123:9303"]
#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
#
# For more information, consult the discovery and cluster formation module documentation.
#
# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
#
# ---------------------------------- Security ----------------------------------
#
# *** WARNING ***
#
# Elasticsearch security features are not enabled by default.
# These features are free, but require configuration changes to enable them.
# This means that users don’t have to provide credentials and can get full access
# to the cluster. Network connections are also not encrypted.
#
# To protect your data, we strongly encourage you to enable the Elasticsearch security features.
# Refer to the following documentation for instructions.
#
# https://www.elastic.co/guide/en/elasticsearch/reference/7.16/configuring-stack-security.html
xpack.ml.enabled: false
4. 启动
docker-compose up -d
评论区