一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情。
1、前言
前一段时间被ES搞得够呛,现记录一篇研究结果。本篇文章基于elasticsearch7.15.0。
2、开始搭建
准备两台或多台服务器,以服务器 172.16.2.16 和 172.16.17 为例。 将elasticsearch7.15.0分别拷贝到 两台服务器的 F盘 es-cluster文件夹下,并修改es的文件名为 node-1
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
5、查看集群是否启动成功
打开浏览器,输入172.16.2.16:9200/_cat/nodes?v
可以看到集群中的所有节点
6、如何查看 ES 集群健康状态
打开浏览器,输入172.16.2.16:9200/_cat/health
green 为健康,如果 是 yellow ,可能是 某个索引出现了问题(可通过http://172.16.2.17:9200/_cat/indices 查看,如果服务器安装了MetricBeat,也可以通过kibana中查看)