目录
前 言
上一篇《探索ELK奇妙世界:初识日志界大名鼎鼎的ES集群》已介绍ElasticSearch的功能和ES集群的工作模式,本篇介绍一下ES集群的搭建步骤。
一、环境准备
ES集群最少需要三台机器,这里准备了三台机器,信息如下
主机名 | 操作系统 | IP地址 |
es1 | Rocky9.4 | 172.16.1.101 |
es2 | Rocky9.4 | 172.16.1.102 |
es3 | Rocky9.4 | 172.16.1.103 |
由于ES存储很多日志,所以对存储空间也是有要求的,所以这里每台机器上都添加一块硬盘单独存放es的数据和日志
由于ElasticSearch的运行用户为普通用户elasticsearch,需要将es数据目录的所有者改成elasticsearch
二、安装ElasticSearch
2.1、下载ElasticSearch的安装包
下载最新版本的elasticsearch,可以根据机器的操作系统选择对应的安装包格式,我这里准备的机器是Rocky,所以选择下载rpm包
Elastic.co是ELK stack的官网,上面可下载ELK stack的所有组件,在搭建ELK集群时需要注意ELK里的组件一定要保证包版本号一致
2.2、安装ElasticSearch
Rocky系统安装rpm包,直接使用rpm -ivh安装即可,三台机器上同时安装
2.3、修改配置文件
由于三台机器要组成ES集群,在启动elasticsearch之前需要先修改它的配置文件,具体修改内容如下
cluster.name: 指定一个集群名称,三台机器设置一样
node.name: 节点名称,每个节点填写各自的主机名
path.data: 指定es的数据目录
path.logs: 指定es的日志目录
network.host: 设置es的监听地址
http.port: 设置es的监听端口
discovery.seed_hosts: 设定集群包含的节点
cluster.initial_master_nodes: 指定master节点在那几个节点中产生
action.destructive_requires_name: true 设置删除es上的索引时必须给出索引名称
es1:
es2:
es3:
如上三个节点的配置文件修改成如上,就可以启动ES了
2.4、启动ElasticSearch
使用systemctl start elasticsearch即可启动es,三台机器同时启动
启动成功
2.5、禁用安全设置
上一步虽然启动成功了,但是我通过web浏览器访问每个节点的9200端口,web上竟然无反应,我在firewall上允许了ES的9200和9300(集群通信)的端口也不行
经过检查ES的日志发现集群日志显示集群之间有SSL证书加密,但各节点并不互相信任
检查发现elasticsearch.yml配置文件中默认启用了ssl安全加密,现在还没熟悉es的加密,所以先禁用ssl
重启ElasticSearch
2.6、Web访问
Web访问各节点的9200端口可以看到集群的状态信息
2.7、启用ES的内存锁定
由于ES对内存对需求,ES提供了内存锁定功能避免其它程序抢占ES的内存空间,在启用内存锁定时需要同时修改elasticsearch.service和jvm.option两个文件
Service文件中添加参数LimitMEMLOCK
Jvm.option文件设定es锁定的内存大小,一般设置物理内存的一半
修改完成后,重启es服务。
三、检查集群状态
3.1、elasticsearch head插件
Chrome浏览器支持添加ElasticSearch head插件,通过这个插件可以连接查看es集群的所有信息
在Chrome浏览器的扩展程序商店内可以搜索到
安装上之后,在chrome的扩展程序中打开heads插件,填入ES节点的IP即可查看ES集群的信息
其中五角星标识master节点
同时可以看到ES集群的状态颜色,绿色表示正常
欢迎关注作者的公众号,公众号每天分享运维干货文章