当前位置: 首页 > news >正文

es高可用安装

1. 环境准备
1.1 服务器规划
节点	IP 地址	主机名	数据路径
node-1	192.168.1.10	es-node-1	/data/es/data
node-2	192.168.1.11	es-node-2	/data/es/data
node-3	192.168.1.12	es-node-3	/data/es/data
说明:IP 地址请根据实际环境修改。三台服务器的数据路径可以不同,这里统一路径仅为方便演示1.2 修改主机名(三台分别执行)
# node-1 上执行
hostnamectl set-hostname es-node-1
# node-2 上执行
hostnamectl set-hostname es-node-2
# node-3 上执行
hostnamectl set-hostname es-node-3
# 验证
hostname1.3 配置 hosts 解析(三台都要执行)
cat >> /etc/hosts << EOF
192.168.1.10 es-node-1
192.168.1.11 es-node-2
192.168.1.12 es-node-3
EOF1.4 关闭防火墙(三台执行)
systemctl stop firewalld
systemctl disable firewalld1.5 配置系统参数(三台执行)
# 1. 设置最大虚拟内存区域数(解决 vm.max_map_count 过小问题)
echo 'vm.max_map_count=262144' >> /etc/sysctl.conf
sysctl -p# 2. 设置文件描述符和进程限制
cat >> /etc/security/limits.conf << EOF
es soft nofile 65535
es hard nofile 65535
es soft nproc 4096
es hard nproc 4096
EOF1.6 安装 JDK(三台执行)
Elasticsearch 7.9.3 需要 JDK 8 或更高版本:
yum install -y java-1.8.0-openjdk
java -version2. 安装 Elasticsearch
说明:以下步骤先在 node-1 执行,然后将安装目录复制到 node-2 和 node-3。
cd /opt
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.3-linux-x86_64.tar.gz
tar -xzf elasticsearch-7.9.3-linux-x86_64.tar.gz
mv elasticsearch-7.9.3 /usr/local/elasticsearch2.2 创建数据和日志目录(node-1 执行)
mkdir -p /data/es/data
mkdir -p /data/es/logs
数据存储路径可以根据实际磁盘规划调整,不同节点的路径可以不一样2.3 创建专用用户(三台都要创建)
Elasticsearch 不允许使用 root 用户启动,必须创建专用用户
groupadd es
useradd es -g es -p es123
chown -R es:es /usr/local/elasticsearch
chown -R es:es /data/es2.4 配置 elasticsearch.yml(node-1 执行)
su - es
vi /usr/local/elasticsearch/config/elasticsearch.yml# 集群名称(三台必须一致)
cluster.name: my-es-cluster
# 节点名称(每台唯一)
node.name: es-node-1
# 节点角色:既是 master 候选节点,也存储数据
node.master: true
node.data: true
# 绑定地址(0.0.0.0 表示监听所有网卡)
network.host: 0.0.0.0
# HTTP 端口(REST API)
http.port: 9200
# 节点间通信端口
transport.tcp.port: 9300
# 数据和日志路径
path.data: /opt/elasticsearch-cluster/elasticsearch-a/data
path.logs: /opt/elasticsearch-cluster/elasticsearch-a/logs
# 集群发现:种子节点列表(三台节点的 IP:9300)
discovery.seed_hosts:- 192.168.1.10:9300- 192.168.1.11:9300- 192.168.1.12:9300
# 初始主节点候选列表(**仅首次启动时使用**)
cluster.initial_master_nodes:- es-node-1- es-node-2- es-node-3
# 启用跨域(方便 Kibana 等工具连接)
http.cors.enabled: true
http.cors.allow-origin: "*"
# 启用监控
xpack.monitoring.enabled: true
xpack.monitoring.collection.enabled: true重要:cluster.initial_master_nodes 配置仅在集群首次启动时使用,集群形成后应移除此配置cluster.name: my-es-cluster
node.name: es-node-3
node.master: true
node.data: false
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
path.data: /home/elasticsearch-cluster/elasticsearch-c/data
path.logs: /home/elasticsearch-cluster/elasticsearch-c/logs
discovery.seed_hosts:- 192.168.1.10:9300- 192.168.1.11:9300- 192.168.1.12:9300
cluster.initial_master_nodes:- es-node-1- es-node-2- es-node-3
http.cors.enabled: true
http.cors.allow-origin: "*"
xpack.monitoring.enabled: true
xpack.monitoring.collection.enabled: true3. 启动集群
3.1 启动各节点(按顺序执行)
# 切换到 es 用户
su - es# 前台启动(用于观察日志,确认无报错)
/usr/local/elasticsearch/bin/elasticsearch# 确认无报错后,改为后台启动
/usr/local/elasticsearch/bin/elasticsearch -d
/opt/elasticsearch-cluster/elasticsearch/bin/elasticsearch3.2 配置 systemd 服务(可选,三台执行)
如果需要将 ES 配置为系统服务:
# 使用 root 用户
cat > /etc/systemd/system/elasticsearch.service << 'EOF'
[Unit]
Description=Elasticsearch
After=network.target[Service]
Type=forking
User=es
Group=es
ExecStart=/home/elasticsearch-cluster/elasticsearch/bin/elasticsearch -d
ExecStop=/bin/kill -TERM $MAINPID
Restart=always
LimitNOFILE=65535
LimitNPROC=4096[Install]
WantedBy=multi-user.target
EOFsystemctl daemon-reload
systemctl enable elasticsearch
systemctl start elasticsearch4. 验证集群
4.1 检查集群健康状态
bash
curl http://192.168.1.10:9200/_cat/health?v
预期输出(status 应为 green 或 yellow):text
epoch      timestamp cluster        status node.total node.data shards ...
1699999999 00:00:00  es-ha-cluster  green          3         3      5 ...

 

http://www.jsqmd.com/news/764902/

相关文章:

  • 2026年自流井区全案整装与智能家居装修深度横评:自贡业主避坑指南与官方联系方式 - 优质企业观察收录
  • 使用 OpenClaw 配置 Taotoken 作为其 Agent 工作流的模型供应商
  • 如何用GetQzonehistory完整备份你的QQ空间记忆数据
  • 通过 curl 命令直接测试 Taotoken 的 API 连通性与模型响应
  • 终极指南:如何在MacOS上快速解决OBS-NDI插件加载问题
  • 在Windows上5分钟搞定SNANDer编译:用Cygwin为CH347定制你的Flash烧录工具
  • 单元5 数据库技术
  • 深圳全居邦防水工程:宝安区外墙防水哪家好 - LYL仔仔
  • 通过Python快速接入Taotoken体验多模型聊天补全功能
  • 2026年造型铝板钣金厂家推荐:铝板钣金/钣金定制/天花板吊顶钣金专业供应 - 品牌推荐官
  • Better BibTeX:Zotero 的学术写作生产力引擎
  • 2026年重庆装配式环保墙板深度选购指南:五感强化木板材与防撞板全面横评 - 优质企业观察收录
  • 2026如何选美国高端留学中介?美国本科高端定制留学机构推荐 - 品牌2026
  • 别再为图像对齐发愁了!用OpenCV的calcOpticalFlowFarneback函数,5分钟搞定图像形变矫正
  • 为何我关闭了wps,安装雨课堂还提示说需要继续关闭wps,这是软件bug吗?如何解决?——任务管理器找不到,我采用的是注销即可解决问题。
  • 想发EI会议论文?手把手教你从零准备一篇航空航天力学方向的JPCS期刊投稿
  • 2026年5月北京民商事诉讼仲裁/企业法律顾问/二审/再审/民商事案件律师解析,认准嘉潍律师事务所曹春芳律师 - 2026年企业推荐榜
  • 本科毕业生100元搞定降AI率?低预算3工具组合搭配攻略! - 我要发一区
  • 轻松上手:FxSound新手入门使用指南
  • 2026年制冷设备厂家推荐:长沙珠峰制冷设备有限公司,水果冷库/汽调冷库/冷库工程/排管冷库专业服务 - 品牌推荐官
  • AIGC降重免费版能用吗?率零1000字免费试用实测降幅数据! - 我要发一区
  • 基于Node.js的WhatsApp自动化机器人框架:从原理到实战部署
  • 独立开发者如何借助Taotoken低成本试验多种大模型创意
  • 揭开 Qoder 的面纱:一款 Agentic 编码平台能为你做什么?
  • 别再用中继了!用两台旧OpenWRT路由器,手把手教你搭建更稳的802.11s Mesh网络
  • 2026年招商选康渡,靠谱服务助你轻松赢 - 速递信息
  • Cursor Free VIP:解锁AI编程助手高级功能的完整解决方案
  • 2026年微商城平台推荐!附搭建教程 - FaiscoJeff
  • Arm Compiler FuSa错误解析与嵌入式安全开发实践
  • 2026年成都保鲜冷库厂家建设新观察:专业工程服务商如何重塑行业标准 - 深度智识库