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 脚本模板 来一键完成多节点部署吗?😊

相关推荐
JerrySir几秒前
恶意 npm 包只活了 17 分钟:技术面试里,为什么“升级依赖”还不算止血?
javascript·安全
白帽小阳10 分钟前
2026前端面试题!(附答案及解析)
javascript·网络·python·安全·web安全·网络安全·护网行动
IT新视界24 分钟前
Elasticsearch信创国产化替代
大数据·elasticsearch·搜索引擎
xd1855785551 小时前
电影匹配引擎-基于鸿蒙的心情电影推荐应用开发实践
人工智能·安全·华为·harmonyos·鸿蒙
白帽小阳2 小时前
[特殊字符]【2026最新】零基础入门学网络安全(详细路线图),看这篇就够了!
学习·安全·web安全·网络安全·安全运营·学习路线·web渗透
Elasticsearch3 小时前
用 Elasticsearch 的 RRF 融合检索,把矿物鉴定准确率从 36% 拉到 92%
elasticsearch
Elasticsearch3 小时前
景枢:基于 Elastic AI Agent Builder 的多景区购票智能运维中枢技术解析
elasticsearch
qetfw3 小时前
CentOS 7 配置 iptables 防火墙
安全
磐链科技3 小时前
区块链链游安全警示:常见漏洞与攻击手段
安全·区块链
嗝屁小孩纸5 小时前
Maven版本升级&Nexus推送极简执行步骤
java·elasticsearch·maven