Elasticsearch 7.17.10 双节点集群部署实战(基于 Rocky Linux 9.6)

部署Elasticsearch (es01/es02同时操作)

(1)初始化工作

准备es01,es02两台虚拟机

安装基础软件

复制代码
#配置rockylinux9.6的yum源
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
    -i.bak \
    /etc/yum.repos.d/rocky*.repo
dnf makecache

yum install wget vim net-tools -y

selinux、firewall关闭、设置时区

复制代码
timedatectl set-timezone Asia/Shanghai
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
vim /etc/selinux/config

时间同步 es01端配置时间服务器(2台服务器时间保持一致,配置elk01为本地ntpserver)(etc/ntp.conf)

复制代码
#es01
sudo vi /etc/chrony.conf
# Allow NTP client access from local network.
allow 192.168.92.0/24
sudo systemctl restart chronyd

#es02
sudo vi /etc/chrony.conf
#注释掉默认的公共服务器池,添加服务端地址
#pool 2.rocky.pool.ntp.org iburst
server 192.168.92.14 iburst   # 替换为你的服务端 IP

设置主机名的解析,简单来说,它相当于一个微型 DNS,让系统知道当你访问 es01 这个名字时,应该连接到 192.168.92.14

复制代码
[root@es01 ~]# vi /etc/hosts #这里两台机器(es01,es02)都要配
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.92.14 es01
192.168.92.15 es02

修改打开文件最大数(es01、02双节点配置)

复制代码
vi /etc/security/limits.conf
* soft nproc 655350
* hard nproc 655350
* soft nofile 655350
* hard nofile 655350

用户退出后重新登录生效(两台机器都要这样设置)

复制代码
[root@es01 ~]# reboot

(2)安装java环境

复制代码
yum update -y
yum install java-1.8.0-openjdk* -y
java -version

(3)安装elasticsearch

两种方式:(1)官网直接下载安装包再上传终端 (2)wget命令直接拉取

下载地址:(官网新版本是8.8的版本)

下载并配置 Elastic 产品 | Elastic

本课程下载的是7.17.10的rpm包(下载到Windows系统后,通过终端软件上传)

复制代码
#联网拉取安装包 或者直接从下载区下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.10-x86_64.rpm
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.17.10-x86_64.rpm
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.17.10-x86_64.rpm
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.10-x86_64.rpm

[root@es01 ~]# ls
anaconda-ks.cfg                   kibana-7.17.10-x86_64.rpm
elasticsearch-7.17.10-x86_64.rpm  logstash-7.17.10-x86_64.rpm
filebeat-7.17.10-x86_64.rpm 
#安装 Elasticsearch,yum -y install 安装本地当前目录下的 elasticsearch-7.17.10-x86_64.rpm 包,-y 参数会自动确认安装。
[root@es01 ~]# yum -y install elasticsearch-7.17.10-x86_64.rpm

#Elasticsearch 创建存放数据和日志的目录。它会在 /data 下生成两个子目录:esdata(用于存储数据)和 eslogs(用于存储日志)。(es01,02都要创建)
[root@es01 ~]# mkdir -p /data/es/{data,logs}

#递归地更改 /data/es 目录及其内部所有文件和子目录的所有者和组为 elasticsearch 用户和 elasticsearch 组。(es01,02都要修改)
[root@es01 data]# chown -R elasticsearch:elasticsearch /data/es

修改elasticsearch配置文件(es01,es02都要修改)

复制代码
[root@es01 ~]# cd /etc/elasticsearch/
[root@eso1 elasticsearch]# cp /etc/elasticsearch/elasticsearch.yml{,.bak} #备份]
[root@es01 elasticsearch]# vi elasticsearch.yml

es01配置文件

复制代码
#17行:修改elk集群名称(es01,es02最好集群名字一样)
cluster.name: es-cluster

#23行:修改节点名称(要和host文件里面写的主机名称是对应的上的)
node.name: es01

#30行:修改家目录(定义后续的数据目录文件是哪里,/data/es/data是之前手动创建的)
path.data:/data/es/data

#37行:修改日志路名(存放日志文件的位置是哪里,/data/es/logs是之前手动创建的)
path.logs: /data/es/logs

#56行:绑定到所有可用网络接口(我可以允许哪些ip,端口来访问我)
network.host:0.0.0.0 #公开访问

#61行:启动服务端口(把注释解除掉)
http.port:9200

#70行:集群里面的节点(这里只有两个,es01,es02)
discovery.seed_hosts: ["es01", "es02"]

#74行:声明在当前集群哪个是主节点(es01)
cluster.initial_master_nodes: ["es01"]

es02配置文件

复制代码
#17行:修改elk集群名称
cluster.name: es-cluster

#23行:修改节点名称
node.name: es02

#30行:修改家目录
path.data: /data/es/data

#37行:修改日志路径
path.logs: /data/es/logs

#56行:绑定到所有可用网络接口
network.host:0.0.0.0 #公开访问

#61行:启动服务端口
http.port: 9200

#70行:指定集群节点,主节点备用节点
discovery.seed_hosts: ["es01","es02"]

#74行:指定master节点
cluster.initial_master_nodes:["es01"]

启动,开机自启

复制代码
systemctl start elasticsearch
systemctl enable elasticsearch

首次启动可能会启动失败,查看日志:

复制代码
tail -f /data/es/logs/elk-cluster.log

elasticsearch(双节点)安装完毕!

相关推荐
豆浆煮粉2 小时前
基于 Linux+CMake 从零集成 Lua 脚本引擎 (附 Sol2 避坑指南)
linux·lua
AC赳赳老秦2 小时前
2026 AI原生工具链升级:DeepSeek与AI原生IDE深度联动,重塑开发效率新高度
大数据·ide·人工智能·web3·去中心化·ai-native·deepseek
NEAI_N2 小时前
离网设备的加密解密方案
linux·服务器·网络
左手の明天2 小时前
Linux内核裁剪深入浅出:从原理到实操,打造轻量化嵌入式内核
linux·arm开发·c++
萝卜白菜。2 小时前
annotation扫描引起的StackOverflowError问题
linux·运维·服务器
瀚高PG实验室2 小时前
瀚高安全版 V4.5.10卸载后残留了db_ha的agent进程导致6666端口被占用
linux·数据库·安全·瀚高数据库
ascarl20102 小时前
canal和ES同步失败维护步骤
java·数据库·elasticsearch
HHFQ2 小时前
如何仅使用键盘通过图形界面安装 RHEL 等 Linux 发行版
linux·运维
TYFHVB122 小时前
2026六大主流CRM横评,五大核心维度深度解析
大数据·前端·数据结构·人工智能