Elasticsearch 8.x+搭建集群二 (.tar.gz 压缩包安装方式)

Source

非常好的问题!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