一、拉取镜像这里使用docker搭建集群,使用安装包搭建步骤差不多,ES版本为7.4.2,服务器为阿里云Centos7
docker pull elasticsearch:7.4.2
二、创建挂载目录
mkdir /mydata/elasticsearch
三、创建配置data数据目录
mkdir /mydata/elasticsearch/data1 mkdir /mydata/elasticsearch/data2 mkdir /mydata/elasticsearch/data2
四、创建配置config目录
mkdir /mydata/elasticsearch/config ##进入config目录创建配置文件 touch es1.yml es2.yml es3.yml
五、编辑配置文件
vi es1.yml
配置内容如下
#集群名称 cluster.name: elasticsearch-cluster #节点名称 node.name: node-1 #是不是有主节点资格 node.master: true #是否存储数据 node.data: true #最大集群节点数 node.max_local_storage_nodes: 3 #网关地址 network.host: 0.0.0.0 #端口 http.port: 9200 #内部节点直接沟通端口 transport.tcp.port: 9300 #es7.x之后新增配置,写入候选主节点的设备地址,在开启服务后可以被候选为主节点 discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9400","127.0.0.1:9500"] #es7.x之后新增配置,初始化一个新的集群时 需要此配置来选举master cluster.initial_master_nodes: ["node-1","node-2","node-3"] #数据和存储路径 path.data: /usr/share/elasticsearch/data path.logs: /usr/share/elasticsearch/log
编辑es2.yml
vi es2.yml
#集群名称 cluster.name: elasticsearch-cluster #节点名称 node.name: node-2 #是不是有主节点资格 node.master: true #是否存储数据 node.data: true #最大集群节点数 node.max_local_storage_nodes: 3 #网关地址 network.host: 0.0.0.0 #端口 http.port: 9201 #内部节点直接沟通端口 transport.tcp.port: 9400 #es7.x之后新增配置,写入候选主节点的设备地址,在开启服务后可以被候选为主节点 discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9400","127.0.0.1:9500"] #es7.x之后新增配置,初始化一个新的集群时 需要此配置来选举master cluster.initial_master_nodes: ["node-1","node-2","node-3"] #数据和存储路径 path.data: /usr/share/elasticsearch/data path.logs: /usr/share/elasticsearch/log
编辑es3.yml
vi es3.yml
#集群名称 cluster.name: elasticsearch-cluster #节点名称 node.name: node-3 #是不是有主节点资格 node.master: true #是否存储数据 node.data: true #最大集群节点数 node.max_local_storage_nodes: 3 #网关地址 network.host: 0.0.0.0 #端口 http.port: 9202 #内部节点直接沟通端口 transport.tcp.port: 9500 #es7.x之后新增配置,写入候选主节点的设备地址,在开启服务后可以被候选为主节点 discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9400","127.0.0.1:9500"] #es7.x之后新增配置,初始化一个新的集群时 需要此配置来选举master cluster.initial_master_nodes: ["node-1","node-2","node-3"] #数据和存储路径 path.data: /usr/share/elasticsearch/data path.logs: /usr/share/elasticsearch/log
启动节点1
docker run -e ES_JAVA_OPTS="-Xms128m -Xmx128m" -d -p 9200:9200 -p 9300:9300 -v /mydata/elasticsearch/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mydata/elasticsearch/data1:/usr/share/elasticsearch/data --name node-1 elasticsearch:7.4.2
启动节点2
docker run -e ES_JAVA_OPTS="-Xms128m -Xmx128m" -d -p 9201:9201 -p 9400:9400 -v /mydata/elasticsearch/config/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mydata/elasticsearch/data2:/usr/share/elasticsearch/data --name node-2 elasticsearch:7.4.2
启动节点3
docker run -e ES_JAVA_OPTS="-Xms128m -Xmx128m" -d -p 9202:9202 -p 9500:9500 -v /mydata/elasticsearch/config/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mydata/elasticsearch/data3:/usr/share/elasticsearch/data --name node-3 elasticsearch:7.4.2
查看集群状态
http://xxxx:9200/_cat/nodes?pretty



