如何使用 docker-compose 搭建es集群?
4个月前 (01-23)
0 点赞
0 收藏
0 评论
5 已阅读
集群情况
estest100systest-server2master+dataES1192.168.2.100estest101systest-server1dataES2192.168.2.101estest102systest-server3dataES3192.168.2.102
准备配置文件
建立存放配置文件的本地目录
三台宿主机上:
mkdir /opt/es
将相关配置文件放到/opt/es中
/opt/es/
├── elasticsearch-env
├── elasticsearch.yml
└── jvm.options
编辑配置文件
根据需求,做好elasticsearch-env,elasticsearch.yml, jvm.options的相关配置
elasticsearch.yml文件内容
node.name自定义,根据节点情况而定,三个节点名称要不同
cluster.name: es-clusternode.name: ES1 ##各节点名称不同path.data: /usr/share/elasticsearch/datapath.logs: /usr/share/elasticsearch/logsnetwork.host: 0.0.0.0http.port: 19200transport.tcp.port: 19300discovery.zen.fd.ping_interval: 10sdiscovery.zen.fd.ping_timeout: 10sdiscovery.zen.fd.ping_retries: 6discovery.seed_hosts: ["estest100:19300", "estest101:19300", "estest102:19300"] ##集群各节点连接信息,容器名+通信端口cluster.initial_master_nodes: ["ES1", "ES2", "ES3"] ##配置集群的引导节点,集群启动成功后删除即可 node.master: truenode.data: truediscovery.zen.minimum_master_nodes: 2 http.cors.enabled: falsehttp.max_content_length: 100mb
创建网络
网络模式:overlay
网络名称:esnet
子网网段:10.9.0.0
ip地址范围:10.9.2.0-255
docker network create --driver=overlay --subnet=10.9.0.0/16 --ip-range=10.9.2.0/24 --attachable esnet
编写docker compose
version: "3.8"services: estest: image: docker.elastic.co/elasticsearch/elasticsearch:7.17.0 container_name: estest101 ##三个节点容器名称不同 environment: - "TZ=Asia/Shanghai" ports: - 19200:19200 - 19300:19300 volumes: - /opt/es/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml - /opt/es/jvm.options:/usr/share/elasticsearch/config/jvm.options - /opt/es/elasticsearch-env:/usr/share/elasticsearch/bin/elasticsearch-env restart: always networks: - esnetnetworks: esnet: driver: overlay external: true
启动es容器
启动顺序:estest100==>estest101==>estest102
运行docker compose
分别在三台主机上执行:
cd /etc/docker/compose/esdocker compose -f es-compose-test.yml up -d
查看集群情况
注意,这里的ip是指容器的ip
个人运维技术文档,不定期分享运维技术
还没有任何评论,你来说两句吧