生产环境Docker搭建Elasticsearch集群

生产环境Docker搭建Elasticsearch集群

  • 1.准备环境
  • 2.获取镜像
  • 3.需要注意
  • 4.准备配置文件和安装文件
  • 5.安装ES服务
  • 6.查看集群所有节点

1.准备环境

虚拟机centos7.5两个 A 和 B
A:192.168.188.247
B:192.168.188.248
Docker version 18.06.0-ce
docker-compose version 1.23.1

2.获取镜像

docker pull elasticsearch

3.需要注意

第一点:es 要求Linux 的 参数 vm.max_map_count 至少为 262144,设置方式如下:在文件/etc/sysctl.conf 加入参数:
参考官方说明:https://www.elastic.co/guide/en/elasticsearch/reference/6.x/docker.html#docker-cli-run-prod-mode

vm.max_map_count=262144

第二点:将 A 和 B 系统的防火墙关闭(这里是虚拟机安装,简单的处理方式是关闭防火墙),生产环境是开启指定端口即可

4.准备配置文件和安装文件

创建文件夹: mkdir -p docker/elasticsearch
再创建其他文件夹和文件:
data目录下不需要创建任何目录以及文件

── docker
    └── elasticsearch
        		├── config
        		│   └── elasticsearch.yml
        		├── data
        		└── docker-compose.yml

config目录下创建 elasticsearch.yml 用于挂载配置文件,每个服务都需要,不同点是只需要修改 node.name和network.publish_host 即可

# 集群名称
cluster.name: "es-cluster"
# 节点名称
node.name: "es-node1"
network.host: 0.0.0.0
# 本机IP地址
network.publish_host: 192.168.188.247
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping.unicast.hosts: ["192.168.188.247:9300", "192.168.188.248:9300"]

同级目录下的 docker-compose.yml 用于创建容器

version: '2.2'
services:
  elasticsearch:
    image: elasticsearch:latest
    container_name: elasticsearch
    environment:
      - cluster.name=es-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    network_mode: host
    volumes:
      - ~/docker/elasticsearch/data:/usr/share/elasticsearch/data
      - ~/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml

5.安装ES服务

在 docker-compose.yml 同级目录下同时执行命令:

docker-compose up –d

根据服务器性能,大概等待1分钟左右,两个节点的集群就创建成功了,当然可以通过执行以下命令查看启动状态,当界面上显示: started , 说明就都启动成功了:

docker logs -f --tail 300 elasticsearch

6.查看集群所有节点

curl 192.168.188.247:9200/_cat/nodes?v
# es-node2 是 master,es-node1 是 slave
ip              heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.188.247           15          93   8    0.12    0.11     0.07 mdi       *      es-node2
192.168.188.248           12          93   1    0.43    0.16     0.09 mdi       -      es-node1

你可能感兴趣的:(运维)