搭建ES集群

106 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情

1、前言

前一段时间被ES搞得够呛,现记录一篇研究结果。本篇文章基于elasticsearch7.15.0。

2、开始搭建

准备两台或多台服务器,以服务器 172.16.2.16 和 172.16.17 为例。 将elasticsearch7.15.0分别拷贝到 两台服务器的 F盘 es-cluster文件夹下,并修改es的文件名为 node-1

image.png

2.1、修改 elasticsearch.yml的配置信息。

分别修改 elasticsearch 的配置信息,我的路径是:F:\es-cluster\node-1\config\elasticsearch.yml。

172.16.2.16的配置信息:

#集群名字,两台集群的集群名字都必须一致
cluster.name: ht‐es
#当前节点名字
node.name: node‐16
#数据位置
path.data: F:/es‐cluster/node‐1/data
#日志位置
path.logs: F:/es‐cluster/node‐1/logs
#锁住物理内存,不使用swap内存,有swap内存的可以开启此项 锁定内存,不锁定会被其
他程序挤压内存
bootstrap.memory_lock: true
bootstrap.system_call_filter: true
network.host: 172.16.2.16
http.port: 9200
transport.tcp.port: 9300
#设置集群的初始节点列表,集群互通端口是为9300
discovery.seed_hosts: ["172.16.2.16:9300", "172.16.2.17:9300"]
#指定主节点 7.1版本后不配置会报错master not discovered yet
cluster.initial_master_nodes: ["node‐16"]
#该节点是否有资格选举为master
node.master: true
#存储索引数据,两台都设为true即可
node.data: true

172.16.2.17的配置信息:

#集群名字,两台集群的集群名字都必须一致
cluster.name: ht‐es
#当前节点名字
node.name: node‐17
#数据位置
path.data: F:/es‐cluster/node‐1/data
#日志位置
path.logs: F:/es‐cluster/node‐1/logs
#锁住物理内存,不使用swap内存,有swap内存的可以开启此项 锁定内存,不锁定会被其
他程序挤压内存
bootstrap.memory_lock: true
bootstrap.system_call_filter: true
network.host: 172.16.2.17
http.port: 9200
transport.tcp.port: 9300
#设置集群的初始节点列表,集群互通端口为9300
discovery.seed_hosts: ["172.16.2.16:9300", "172.16.2.17:9300"]
#指定主节点 7.1版本后不配置会报错master not discovered yet
cluster.initial_master_nodes: ["node‐16"]
#该节点是否有资格选举为master
node.master: true
#存储索引数据,两台都设为true即可
node.data: true

3、配置完成后,启动ES集群。

分别点击 F:\es-cluster\node-1\bin\elasticsearch.bat 启动注意:第一次配置,可能会因为 端口号 9300 没有设置出现启动失败的情况,这时候要在防火墙的出入规则中新建规则。

4、查看各个节点是否启动成功

在浏览器中分别输入172.16.2.16:9200、172.16.2.17:9200

image.png

image.png

5、查看集群是否启动成功

打开浏览器,输入172.16.2.16:9200/_cat/nodes?v可以看到集群中的所有节点

image.png

6、如何查看 ES 集群健康状态

打开浏览器,输入172.16.2.16:9200/_cat/health image.png green 为健康,如果 是 yellow ,可能是 某个索引出现了问题(可通过http://172.16.2.17:9200/_cat/indices 查看,如果服务器安装了MetricBeat,也可以通过kibana中查看)

image.png