Centos7 ElasticSearch集群搭建

1. 服务器环境配置

1.1 配置hosts文件

3台服务器都要执行

复制代码
vim /etc/hosts;
# 将以下内容写入3台服务器hosts文件
192.168.226.148 es001 
192.168.226.149 es002 
192.168.226.150 es003 

1.2 关闭防火墙

3台服务器都要执行

复制代码
systemctl stop firewalld;
systemctl disable firewalld;

1.3 修改文件最大打开数

以下内容3台服务器都要配置

复制代码
vim /etc/security/limits.conf;
# 将以下内容写入文件最后
* soft nofile 204800

* hard nofile 204800

* soft nproc 204800

* hard nproc 204800

1.4 修改虚拟内存数量

复制代码
vim /etc/sysctl.conf;
#将以下内容写入文件最后
vm.max_map_count=655360

sysctl -p;

2. 下载

国内镜像下载地址

ES官网下载地址

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.2-x86_64.rpm

3. 安装

复制代码
rpm -ivh elasticsearch-7.4.2-x86_64.rpm

4. 修改ES配置文件

创建数据目录和日志目录(3个服务器都执行)

复制代码
mkdir -p /usr/share/elasticsearch/data;
mkdir -p /usr/share/elasticsearch/log;
# 注意 创建的目录一定要授权给ES用户
chown elasticsearch:elasticsearch -R /usr/share/elasticsearch/data;
chown elasticsearch:elasticsearch -R /usr/share/elasticsearch/log;

编辑/etc/elasticsearch/elasticsearch.yml配置文件(3个服务器都执行)

复制代码
cd /etc/elasticsearch;
vim elasticsearch.yml;

内容为:

修改集群名称

cluster.name: elasticsearch-cluster

修改节点名称,不同节点不同 节点一node-1 节点二node-2 节点三node-3

node.name: node-1

#是不是有资格主节点 ,选举是在所有node.master = true 的节点进行的

node.master: true

node.data: true

修改data数据保存地址为上一步创建的地址

path.data: /usr/share/elasticsearch/data

修改log数据保存地址为上一步创建的地址

path.log: /usr/share/elasticsearch/log

修改允许访问ip

network.host: 0.0.0.0

修改访问端口

http.port: 9200

集群初始化节点,只需要配置主节点

cluster.initial_master_nodes: ["node-1","node-2","node-3"]

#集群中所有的节点ip

discovery.seed_hosts: ["es001","es002","es003"]

#配置跨域访问 header插件需要该配置

http.cors.enabled: true

http.cors.allow-origin: "*"

说明:

首次启动Elasticsearch集群需要在集群中的一个或多个Master候选节点上显式定义初始一组主资格节点 . 这个行为称为集群自举。符合主机要求的初始节点集是在cluster.initial_master_nodes设置中,群集形成后,不再需要此设置,并且会忽略它,也就是说,这个属性就只是在集群首次启动时有用。并且可以不需要在非Master候选节点上设置。

配置JVM启动内存

复制代码
cd /etc/elasticsearch;
vim jvm.options;

内容为

#Xms和Xmx要设置为一样,否者启动有可能会报initial heap size x not equal to maximum heap size x;

-Xms512m

-Xmx512m

配置系统文件

复制代码
vim /etc/security/limits.conf;

文件最后添加内容为:

每个进程可以打开的文件数的限制

* soft nofile 65536

* hard nofile 131072

操作系统级别对每个用户创建的进程数的限制

* soft nproc 2048

* hard nproc 4096

复制代码
vim /etc/sysctl.conf;

文件最后添加内容为:

在文件中增加下面内容

一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536

vm.max_map_count=655360

重新加载

复制代码
sysctl -p;

5. 修改文件权限

复制代码
chown elasticsearch:elasticsearch -R /usr/share/elasticsearch/;
#chown elasticsearch:elasticsearch -R /etc/elasticsearch/;

6.修改启动文件

部分情况会启动失败,systemctl status elasticsearch报超时错误, elasticsearch.service start operation timed out. Terminating.

复制代码
vim /usr/lib/systemd/system/elasticsearch.service
# Java process is never killed
SendSIGKILL=no

# When a JVM receives a SIGTERM signal it exits with code 143
SuccessExitStatus=143
TimeoutStartSec=120 #在这添加一个超时间 设置长一点,我这边设置了两分钟
[Install]
WantedBy=multi-user.target

[root@VM125 ELK]# systemctl daemon-reload        
[root@VM125 ELK]# systemctl restart elasticsearch                  
[root@VM125 ELK]# systemctl status elasticsearch 

7. 启动

复制代码
# 启动
systemctl start elasticsearch;
# 自启动
systemctl enable elasticsearch;
# 查状态
systemctl status elasticsearch;
相关推荐
武子康14 小时前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天15 小时前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
Elasticsearch2 天前
如何使用 Agent Builder 排查 Kubernetes Pod 重启和 OOMKilled 事件
elasticsearch
Elasticsearch3 天前
通用表达式语言 ( CEL ): CEL 输入如何改进 Elastic Agent 集成中的数据收集
elasticsearch
武子康3 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
武子康4 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
够快云库4 天前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全
AI周红伟4 天前
周红伟:智能体全栈构建实操:OpenClaw部署+Agent Skills+Seedance+RAG从入门到实战
大数据·人工智能·大模型·智能体
B站计算机毕业设计超人4 天前
计算机毕业设计Django+Vue.js高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)
大数据·vue.js·hadoop·django·毕业设计·课程设计·推荐算法