架构师成长之路 -docker 搭建 es 集群,rocketmq 教程教程
开始搭建集群:
Docker 要求 CentOS 系统的内核版本在 3.10 以上。

三台虚拟机:
安装一台克隆 2 台


安装 es 的内存一定要设置大一点,复制多台虚拟机完全看你电脑性能,如果 8g 的运行内存就不要尝试了,是很卡的。上个我的 cpu 图。

拉取容器指定版本
========
docker pull elasticsearch:6.4.3

修改系统参数:
=======
vi /etc/sysctl.conf
vm.max_map_count=262144

sysctl -p

======================================================
创建 ES 配置文件:
=========
mkdir -p /data/elasticsearch/{data,logs,config}
vi /data/elasticsearch/config/elasticsearch.yml

cluster.name: elasticsearch-cluster #集群名称必须一致
node.name: es-node2 #节点名称可以不一样
network.bind_host: 0.0.0.0 #设置 0.0.0.0 表示都可以访问,设置固定 ip 不能通讯
network.publish_host: 192.168.192.130
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
?
discovery.zen.ping.unicast.hosts: ["192.168.192.130:9200","192.168.192.131:9200"]
discovery.zen.minimum_master_nodes: 1
上面是 6.4.3 的 es 集群配置。7.0 版本不一样
启动容器:
=====
docker run -d --name=elasticsearch \
--restart=always \
-p 9200:9200 -p 9300:9300 \
-v /data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /data/elasticsearch/data:/usr/share/elasticsearch/data \
-v /data/elasticsearch/logs:/usr/share/elasticsearch/logs \
-v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:6.4.3

命令解释
-p 9200:9200 端口映射:前表示主机部分,:后表示容器部分。
--name elasticsearch 指定该容器名称,查看和进行操作都比较方便。
-v 挂载目录,规则与端口映射相同。
-d elasticsearch 表示后台启动 elasticsearch
plugins 表示插件目录,logs 表示日志,data 表示节点数据
查看最新 5 分钟日志
docker logs --since 5m 32def08f7a25

看到这里我们 es 启动成功了,一定要看日志,es 虽然启动了,但是状态没有成功,还是失败。启动的时候一定要把 es 的插件放在 plugins 里面。以免下次重新停止再重启。

其他两台虚拟机一样只需要修改/elasticsearch.yml 配置文件
vi /data/elasticsearch/config/elasticsearch.yml

评论