ElasticSearch集群搭建
ElasticSearch集群搭建-以3台为例
- 环境准备
- 配置文件
-
- docker-compose.yml
- 启动命令
- 验证是否搭建成功
- 说明
环境准备
- VmWare WorkStation 16.2.3
- Ubuntu 22.04
- Docker
- docker-compose工具
配置文件
docker-compose.yml
version: '3'services: es01: image: elasticsearch:7.11.2 container_name: es01 environment: - node.name=es01 - cluster.name=es-docker-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms256m -Xmx256m" - discovery.seed_hosts=es02,es03 - cluster.initial_master_nodes=es01,es02,es03 ulimits: memlock: soft: -1 hard: -1 volumes: - ${HOME}/docker/es01_data:/usr/share/elasticsearch/data ports: - 9200:9200 - 9300:9300 networks: - elastic es02: image: elasticsearch:7.11.2 container_name: es02 environment: - node.name=es02 - cluster.name=es-docker-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms256m -Xmx256m" - discovery.seed_hosts=es01,es03 - cluster.initial_master_nodes=es01,es02,es03 ulimits: memlock: soft: -1 hard: -1 volumes: - ${HOME}/docker/es02_data:/usr/share/elasticsearch/data ports: - 9201:9200 - 9301:9300 networks: - elastic es03: image: elasticsearch:7.11.2 container_name: es03 environment: - node.name=es03 - cluster.name=es-docker-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms256m -Xmx256m" - discovery.seed_hosts=es01,es02 - cluster.initial_master_nodes=es01,es02,es03 ulimits: memlock: soft: -1 hard: -1 volumes: - ${HOME}/docker/es03_data:/usr/share/elasticsearch/data ports: - 9202:9200 - 9302:9300 networks: - elasticnetworks: elastic: driver: bridge
启动命令
docker-compose up -d es01docker-compose up -d es02docker-compose up -d es03
验证是否搭建成功
命令行输入以下命令
curl -X GET http://127.0.0.1:9200/_cat/nodes?v
当出现以下结果,说明搭建成功
说明
- 该文本在同一台机器上配置了3个实例的ES集群:es01,es02,es03
- 每个实例的cluster的cluster.name需要一致
- cluster.initial_master_nodes设置当前集群的所有节点
- 由于在同一台机器上配置,映射到主机节点不同
- 启动时,如果几乎同时启动,即使用以下命令启动
docker-compose up -d es01 es02 es03
会报如下异常
具体原因待后续学习后再补充