ES 8.x的多实例集群搭建与角色规划
warning:
这篇文章距离上次修改已过180天,其中的内容可能已经有所变动。
在Elasticsearch 8.x中,可以通过以下步骤搭建多实例集群并进行角色规划:
- 安装Elasticsearch 8.x 在多个服务器上。
- 配置每个实例的
elasticsearch.yml
文件,设定不同的节点名称(node.name),以及指定它们属于哪个集群(cluster.name)。 - 如果有必要,修改每个实例的主机名(hostname)和网络配置,以便它们能够网络通信。
- 启动所有实例。
- 使用
cluster-health
命令检查集群健康状况。 - 使用
cluster-rally
或者cluster.routing.allocation.balance
设置来规划角色。
示例配置片段(elasticsearch.yml
):
# 所有节点
cluster.name: my-cluster
node.name: node-1
network.host: 192.168.1.1
# 主节点
node.roles: [ master, ingest ]
# 数据节点
node.roles: [ data ]
# 辅助节点
node.roles: [ remote_cluster_client, ml ]
启动Elasticsearch实例的命令:
./bin/elasticsearch
检查集群健康状况:
curl -X GET "localhost:9200/_cluster/health?pretty"
角色规划示例(使用API):
# 分配主节点角色
curl -X PUT "localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d'
{
"transient" : {
"cluster.routing.allocation.exclude.master" : "false",
"cluster.routing.allocation.include.master" : "node-1"
}
}'
# 分配数据节点角色
curl -X PUT "localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d'
{
"transient" : {
"cluster.routing.allocation.include.data" : "node-1"
}
}'
注意:角色规划也可以通过Kibana或者Elasticsearch REST API进行。在生产环境中,角色规划应根据实际负载和需求进行调整。
评论已关闭