为了避免繁琐的开放端口操作,所以先关闭防火墙
# 关闭防火墙 systemctl stop firewalld.service # 禁用防火墙 systemctl disable firewalld.service2.安装Docker
此处省略,回头整理一章Docker操作3.下载Elastic Search镜像
docker pull elasticsearch:7.9.34.集群结构
这里我们用Docker部署三个ES容器集群5.创建虚拟网络和挂载目录
# 创建虚拟网络 docker network create es-net # node1 的挂载目录 mkdir -p -m 777 /var/lib/es/node1/plugins mkdir -p -m 777 /var/lib/es/node1/data # node2 的挂载目录 mkdir -p -m 777 /var/lib/es/node2/plugins mkdir -p -m 777 /var/lib/es/node2/data # node3 的挂载目录 mkdir -p -m 777 /var/lib/es/node3/plugins mkdir -p -m 777 /var/lib/es/node3/data6.设置 max_map_count
必须修改系统参数 max_map_count,否则 Elasticsearch 无法启动:
在 /etc/sysctl.conf 文件中添加 vm.max_map_count=262144
echo 'vm.max_map_count=262144' >>/etc/sysctl.conf
重启服务器
docker restart node1 node2 node37.启动Elasticsearch集群
node1:
docker run -d --name=node1 --restart=always --net es-net -p 9200:9200 -p 9300:9300 -v /var/lib/es/node1/plugins:/usr/share/elasticsearch/plugins -v /var/lib/es/node1/data:/usr/share/elasticsearch/data -e node.name=node1 -e node.master=true -e network.host=node1 -e discovery.seed_hosts=node1,node2,node3 -e cluster.initial_master_nodes=node1 -e cluster.name=es-cluster -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" elasticsearch:7.9.3
环境变量说明:
环境变量 说明
node.name 节点在集群中的唯一名称
node.master 可已被选举为主节点
network.host 当前节点的地址
discovery.seed_hosts 集群中其他节点的地址列表
cluster.initial_master_nodes 候选的主节点地址列表
cluster.name 集群名
ES_JAVA_OPTS java虚拟机参数
node2:
docker run -d --name=node2 --restart=always --net es-net -p 9201:9200 -p 9301:9300 -v /var/lib/es/node2/plugins:/usr/share/elasticsearch/plugins -v /var/lib/es/node2/data:/usr/share/elasticsearch/data -e node.name=node2 -e node.master=true -e network.host=node2 -e discovery.seed_hosts=node1,node2,node3 -e cluster.initial_master_nodes=node1 -e cluster.name=es-cluster -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" elasticsearch:7.9.3
node3:
docker run -d --name=node3 --restart=always --net es-net -p 9202:9200 -p 9302:9300 -v /var/lib/es/node3/plugins:/usr/share/elasticsearch/plugins -v /var/lib/es/node3/data:/usr/share/elasticsearch/data -e node.name=node3 -e node.master=true -e network.host=node3 -e discovery.seed_hosts=node1,node2,node3 -e cluster.initial_master_nodes=node1 -e cluster.name=es-cluster -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" elasticsearch:7.9.3
查看启动结果:
http://192.168.64.181:9200
http://192.168.64.181:9200/_cat/nodes
elasticsearch-head 项目提供了一个直观的界面,可以很方便地查看集群、分片、数据等等。elasticsearch-head最简单的安装方式是作为 chrome 浏览器插件进行安装。
1)在 elasticsearch-head 项目仓库中下载 chrome 浏览器插件
https://github.com/mobz/elasticsearch-head/raw/master/crx/es-head.crx
2)将文件后缀改为 zip
3)解压缩
4)在 chrome 浏览器中选择“更多工具”–“扩展程序”
5)在“扩展程序”中确认开启了“开发者模式”
6)点击“加载已解压的扩展程序”
7)选择前面解压的插件目录
8)在浏览器中点击 elasticsearch-head 插件打开 head 界面,并连接 http://192.168.64.181:9200/



