下面给你一个从 0 到 1 的 Elasticsearch 集群部署指南,以 Linux(CentOS / Ubuntu) 为例,覆盖核心概念 + 实操步骤 + 常见配置。
Elasticsearch 7.x 以后,节点角色更清晰:
| 角色 | 作用 |
|---|---|
| master | 管理集群元数据(索引、分片分配) |
| data | 存储数据、执行搜索 |
| ingest | 数据预处理 |
| coordinating | 协调节点(不存数据) |
✅ 生产环境建议 master / data 分离
cluster.name # 集群名(必须一致)
node.name # 节点名(唯一)
discovery.seed_hosts
cluster.initial_master_nodes
| 节点 | IP | 角色 |
|---|---|---|
| es01 | 192.168.1.11 | master + data |
| es02 | 192.168.1.12 | master + data |
| es03 | 192.168.1.13 | master + data |
java -version
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.13.4-linux-x86_64.tar.gz
tar -xzf elasticsearch-8.13.4-linux-x86_64.tar.gz
mv elasticsearch-8.13.4 /opt/elasticsearch
useradd es
chown -R es:es /opt/elasticsearch
# /opt/elasticsearch/config/elasticsearch.yml
cluster.name: es-cluster
node.name: es01
node.roles: [ master, data ]
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts:
- 192.168.1.11
- 192.168.1.12
- 192.168.1.13
cluster.initial_master_nodes:
- es01
- es02
- es03
只改:
node.name: es02
node.name: es03
echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sysctl -p
su es
/opt/elasticsearch/bin/elasticsearch
后台运行:
./bin/elasticsearch -d
curl http://192.168.1.11:9200/_cat/nodes?v
✅ 看到 3 个节点即为成功
✅ 3 个 master 节点(奇数)
✅ 数据节点至少 3 个
✅ 开启安全(ES 8 默认开启 TLS)
✅ 使用 Kibana 管理
✅ 使用 systemd 管理进程
如果你用的是:
我也可以直接给你对应 yaml 配置。
告诉我你的 版本 + 场景(测试 / 生产) 我可以给你更精确的方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。