es搭建的准备环境在之前的博文里提到过了,这里集群搭建是在单节点环境搭建成功的前提下
es单节点部署文档: es单节点部署
Elastic 集群模式必须至少 2 个实例以上,一般建议 3 个节点以上,可以保障其中一个节点失效,集群仍然可以服务。集群模式与单实例模式大部分配置上一样的,仅需修改集群通信差异部分。
我们以三个节点为例进行部署:
es01 节点配置:
• 配置文件:{ES_HOME}/config/elasticsearch.yml
#集群名称,默认可以不修改,此处 esgroup-01为集群名称
cluster.name:esgroup-01
#节点名称` node.name: ${HOSTNAME}-node01
#IP 地址,默认是 local,仅限本机访问,外网不可访问,设置 0.0.0.0 通用做法
network.host: 192.168.86.102
#网络端口
http.port: 9201
transport.port: 9301
#集群节点之间指向
discovery.seed_hosts: ["192.168.86.102:9301", "192.168.86.103:9301","192.168.86.104:9301"]
cluster.initial_master_nodes:["192.168.86.102:9301","192.168.86.103:9301","192.168.86.104:9301"]
es02 节点配置:
• 配置文件:{ES_HOME}/config/elasticsearch.yml
#集群名称,默认可以不修改,此处 esgroup-01为集群名称
cluster.name: esgroup-01
#节点名称` node.name: ${HOSTNAME}-node02
#IP 地址,默认是 local,仅限本机访问,外网不可访问,设置 0.0.0.0 通用做法
network.host: 192.168.86.103
#网络端口
http.port: 9201
transport.port: 9301
#集群节点之间指向
discovery.seed_hosts:["192.168.86.102:9301","192.168.86.103:9301","192.168.86.104:9301"]
cluster.initial_master_nodes:["192.168.86.102:9301","192.168.86.103:9301","192.168.86.104:9301"]
es03 节点配置:
• 配置文件:{ES_HOME}/config/elasticsearch.yml
#集群名称,默认可以不修改,此处 esgroup-01为集群名称
cluster.name: esgroup-01
#节点名称
node.name: ${HOSTNAME}-node03
#IP 地址,默认是 local,仅限本机访问,外网不可访问,设置 0.0.0.0 通用做法
network.host: 192.168.86.104
#网络端口
http.port: 9201
transport.port: 9301
#集群节点之间指向
discovery.seed_hosts: ["192.168.86.102:9301", "192.168.86.103:9301","192.168.86.104:9301"]
cluster.initial_master_nodes:["192.168.86.102:9301","192.168.86.103:9301","192.168.86.104:9301"]
上述是集群分布在不同的虚拟机上的部署方法,如果虚拟机资源不足,可以在同意太虚拟机上搭建伪集群进行学习,要注意的是在同一台虚拟机上搭建伪集群时要在配置文件中指明data文件夹的位置,不要使用默认设置,这样会导致集群无法正确创建,每个节点都自成一个单节点集群。