Elasticsearch 8.x+搭建集群一 (RPM/DEB 安装方式)

当然可以!以下是 Elasticsearch 8.x+ 自管部署(Self-Managed)环境下,从零搭建一个安全集群的完整操作流程总结 ,适用于 RPM/DEB 安装方式(如 yum/apt)


✅ 总体目标

  1. 启动第一个节点 → 自动创建安全单节点集群
  2. 添加更多节点 → 安全加入现有集群

全程 无需手动配置 TLS 证书、密码或修改 elasticsearch.yml


🧱 第一阶段:启动第一个节点(创建集群)

💡 这是整个集群的"种子节点",会自动生成 CA、密码和 token。

操作步骤:

复制代码
# 1. 安装 Elasticsearch(以 RPM 为例)
sudo yum install elasticsearch-8.x.x.rpm

# 2. 确保数据目录为空(首次安装默认就是空的)
ls /var/lib/elasticsearch    # 应该为空或不存在

# 3. 直接启动!(关键:不要改任何配置)
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

验证自动安全配置:

复制代码
# 查看 elastic 用户密码
sudo grep "Password for the elastic user" /var/log/elasticsearch/*.log

# 查看 enrollment token(用于后续加节点/Kibana)
sudo grep "Enroll this node" /var/log/elasticsearch/*.log
sudo grep "Enroll Kibana" /var/log/elasticsearch/*.log

# 检查证书是否生成
ls /etc/elasticsearch/certs/
# 应包含: http_ca.crt, http.p12, transport_ca.crt, transport.p12

# 测试访问(需密码)
curl -u elastic -k https://localhost:9200

✅ 此时你已有一个 启用 HTTPS + 认证 + TLS transport 的单节点安全集群


➕ 第二阶段:添加新节点(加入集群)

💡 新节点必须 从未启动过(数据目录为空),且使用相同版本 ES。

操作步骤:

🔹 步骤 1:在已有集群节点上生成 node enrollment token
复制代码
# 在第一个节点(或任意已有节点)执行
sudo -u elasticsearch /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node

输出示例:

复制代码
eyJ2ZXIiOiIxLjAiLCJhZHIiOlsiMTkyLjE2OC4xLjEwOjkyMDAiXSwiZmdyIjoi...

注意:token 1 小时内有效,一次性使用


🔹 步骤 2:在新节点上运行 reconfigure-node
复制代码
# 在新服务器上(已安装 ES,但尚未启动!)
sudo /usr/share/elasticsearch/bin/elasticsearch-reconfigure-node \
  --enrollment-token "eyJ2ZXIiOiIxLjAiLCJhZHIiOlsiMTkyLjE2OC4xLjEwOjkyMDAiXSwiZmdyIjoi..."

✅ 该命令会自动:

  • 下载集群 CA 证书
  • 申请本机 TLS 证书
  • 配置安全通信参数

🔹 步骤 3:启动新节点
复制代码
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

🔹 步骤 4:验证新节点是否加入成功

在任意节点执行:

复制代码
# 需要 elastic 密码(来自第一步日志)
curl -u elastic -k "https://localhost:9200/_cat/nodes?v&h=name,ip,role"

应看到新节点的 IP 和角色。


📌 关键注意事项

项目 要求
ES 版本 所有节点必须完全一致(如 8.12.0)
数据目录 新节点必须为空(/var/lib/elasticsearch
网络连通性 新节点能访问已有节点的 9200 端口(HTTPS)
主机名/DNS 建议配置正确 hostname,或确保 IP 可被识别
不要提前启动新节点 否则它会自建集群,无法加入

🚫 错误做法(务必避免)

错误 后果
先启动新节点再 reconfigure 新节点变成独立集群(脑裂)
手动复制证书文件 容易出错,官方不推荐
在 tar 包安装上用 reconfigure-node 不支持!仅限 RPM/DEB
使用过期或已用过的 token 加入失败

🔄 扩展:添加 Kibana(同理)

复制代码
# 在 ES 节点生成 Kibana token
bin/elasticsearch-create-enrollment-token -s kibana

# 在 Kibana 服务器执行
bin/kibana --enrollment-token "xxx"

Kibana 会自动完成 HTTPS 配置并连接 ES。


✅ 最终架构效果

复制代码
[Node-1] ← 自动创建 CA/密码/token
     │
     ├─ [Node-2] ← 通过 reconfigure-node + token 加入
     ├─ [Node-3] ← 同上
     └─ [Kibana] ← 通过 kibana enrollment token 加入

所有通信:HTTPS + TLS + 认证,开箱即安全 🔐


💡 总结一句话

第一个节点:直接启动,自动安全初始化;
后续节点:先拿 token,再 reconfigure,最后启动。

这就是 Elasticsearch 8.x "Secure by default, simple to scale" 的最佳实践!

需要我提供一个 自动化 Shell 脚本模板 来一键完成多节点部署吗?😊

相关推荐
guoji778820 小时前
安全与对齐的深层博弈:Gemini 3.1 Pro 安全护栏与对抗测试深度拆解
人工智能·安全
亚历克斯神21 小时前
Flutter for OpenHarmony: Flutter 三方库 mutex 为鸿蒙异步任务提供可靠的临界资源互斥锁(并发安全基石)
android·数据库·安全·flutter·华为·harmonyos
雷帝木木1 天前
Flutter 三方库 hashids2 基于鸿蒙安全内核的深度隐匿映射适配:数字指纹泄露防御层、生成短小精悍唯一不可逆加盐哈希,护航全链路请求 URL 隐私-适配鸿蒙 HarmonyOS ohos
安全·flutter·harmonyos
云祺vinchin1 天前
解读“十五五”热词,容灾备份正成为国家安全基石
安全·网络安全·数据安全·十五五·容灾备份体系
小陈工1 天前
2026年3月28日技术资讯洞察:5G-A边缘计算落地、低延迟AI推理革命与工业智造新范式
开发语言·人工智能·后端·python·5g·安全·边缘计算
聊点儿技术1 天前
利用IP归属地查询识别异地登录风险:企业账号安全的技术探索
数据库·tcp/ip·安全
ybwycx1 天前
springboot之集成Elasticsearch
spring boot·后端·elasticsearch
风.foxwho1 天前
jenkins使用 ED25519密钥 拉取Git 代码 配置
git·servlet·jenkins
xixixi777771 天前
安全嵌入全链路:从模型训练到智能体交互,通信网络是AI安全的“地基”
人工智能·安全·ai·多模态·数据·通信·合规
1941s1 天前
OpenClaw 每日新玩法 | NanoClaw —— 轻量级、安全的 OpenClaw 替代方案
人工智能·安全·agent·openclaw