使用docker-compse在多服务器安装elasticserach 7,centos7
参考官网:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/docker.html
但官网是单服务器,我们需要的是多服务器。
步骤如下:
- 准备hosts文件
- 准备data目录
- 准备docker镜像
- 设置系统参数sysctl.conf
- 准备docker-compose.yaml
- 启动和观察
准备hosts文件
可以直接用ip,但hostname更容易理解
# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6172.29.2.114 es01172.29.2.42 es02172.29.2.168 es03
准备data目录
data目录要能让容器的elasticsearch用户使用
mkdir -p /data/eschown 1000:0 /data/es
准备docker镜像
可以忽略,运行时在下载
elasticsearch:7.17.1和docker.elastic.co/elasticsearch/elasticsearch7.17.1其实是同一个镜像,哪个快下哪个
设置系统参数sysctl.conf
不设置日志会有错
]# cat /etc/sysctl.confvm.max_map_count = 262144]# sysctl -p
准备docker-compose.yaml
注意 network.publish_host修改成本地服务器ip,样例1:
version: '2.2'services:es01:image: docker.elastic.co/elasticsearch/elasticsearch:7.17.1container_name: es01environment:- node.name=es01- cluster.name=es-docker-cluster- network.publish_host=172.29.2.114- discovery.seed_hosts=es02,es03- cluster.initial_master_nodes=es01,es02,es03- bootstrap.memory_lock=true- "ES_JAVA_OPTS=-Xms512m -Xmx512m"ulimits:memlock:soft: -1hard: -1nofile:soft: 65535hard: 65535volumes:- /data/es:/usr/share/elasticsearch/data- /etc/hosts:/etc/hostsports:- 9200:9200- 9300:9300volumes:data01:driver: local
启动和观察
dock-compose up -d
docker logs观察日志是否报错
观察集群节点状态:curl -X GET “localhost:9200/_cat/nodes?v=true&pretty”
