非常好的问题!tar 包(即 .tar.gz 压缩包)安装的 Elasticsearch 也属于 Self-Managed(自管部署),但它的使用方式和 RPM/DEB 有一些关键区别 —— 尤其是关于 elasticsearch-reconfigure-node 工具的可用性。
✅ 核心结论:
tar 包安装的 Elasticsearch:
- ✅ 是 Self-Managed
- ✅ 首次启动时同样会自动启用安全功能(HTTPS + 密码 + CA)
- ❌ 但不能使用
elasticsearch-reconfigure-node工具- ✅ 加入现有集群需用其他方式(如直接传 enrollment token 启动)
🔍 详细对比:tar 包 vs RPM/DEB
| 功能 | RPM/DEB 安装 | tar 包安装 |
|---|---|---|
| 是否 Self-Managed | ✅ 是 | ✅ 是 |
| 首次启动自动安全配置 | ✅ 是 | ✅ 是 |
能否使用 elasticsearch-reconfigure-node |
✅ 可以(官方支持) | ❌ 不支持(该工具仅针对包管理安装) |
| 配置文件路径 | /etc/elasticsearch/ |
$ES_HOME/config/ |
| 数据目录 | /var/lib/elasticsearch/ |
$ES_HOME/data/(默认) |
| 服务管理 | systemctl start elasticsearch |
手动运行 ./bin/elasticsearch 或写 systemd 脚本 |
| 新节点加入集群的方式 | 用 reconfigure-node --enrollment-token |
直接启动时传 --enrollment-token |
🧩 tar 包如何加入现有集群?
因为 没有 elasticsearch-reconfigure-node,Elasticsearch 为 tar 包提供了 更直接的方式:
✅ 正确操作(tar 包专用)
第一步:在已有集群生成 token
# 在已有节点执行
bin/elasticsearch-create-enrollment-token -s node
# 输出: eyJ2ZXIiOiIxLjAiLCJhZHIiO...
第二步:在新节点(tar 包)首次启动时直接传 token
# 解压 tar 包后,进入目录
cd elasticsearch-8.12.0
# 直接启动并传入 token(关键!)
./bin/elasticsearch --enrollment-token "eyJ2ZXIiOiIxLjAiL