首先需要安装docker,这里就略过了
在第一台机器上创建 docker-compose.yml 文件内容如下:
services:
es:
image: docker.elastic.co/elasticsearch/elasticsearch:7.16.2
container_name: es
environment:
- bootstrap.memory_lock=true
- xpack.security.enabled=false
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- /path/to/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- /path/to/es/data:/usr/share/elasticsearch/data
- /path/to/es/log:/usr/share/elasticsearch/log
- /path/to/es/plugins:/usr/share/elasticsearch/plugins
ports:
- "9200:9200"
- "9300:9300"
networks:
- esnet
networks:
esnet:
driver: bridge
映射的配置文件如下:
# 指定集群名称3个节点必须一致
cluster.name: es-cluster
#指定节点名称,每个节点名字唯一
node.name: node-1
#是否有资格为master节点,默认为true
node.master: true
#是否为data节点,默认为true
node.data: true
# 绑定ip,开启远程访问,可以配置0.0.0.0
network.host: 0.0.0.0
# 如果是多台机器,需要指定本机IP
network.publish_host: 192.168.177.131
#指定web端口
http.port: 9200
#指定tcp端口
transport.tcp.port: 9300
#用于节点发现
discovery.seed_hosts: ["192.168.177.131", "192.168.177.132", "192.168.177.133"]
#7.0新引入的配置项,初始仲裁,仅在整个集群首次启动时才需要初始仲裁。
#该选项配置为node.name的值,指定可以初始化集群节点的名称
cluster.initial_master_nodes: ["node-1","node-2","no