角色分离
对大集群适用 50台以上
GET 10.0.0.101:9200/_cat/nodes?v
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
10.0.0.101 51 96 0 0.00 0.03 0.05 cdfhilmrstw - elk101
10.0.0.103 74 79 0 0.00 0.01 0.05 cdfhilmrstw - elk103
10.0.0.102 55 81 0 0.00 0.01 0.05 cdfhilmrstw * elk102
角色说明:
c :
Cold data
d :
data node
f :
frozen node
h :
hot node
i :
ingest node
l :
machine learning node
m :
master eligible node
r :
remote cluster client node
s :
content node
t :
transform node
v :
voting-only node
w :
warm node
- :
coordinating node only
常用的角色说明:
data node:
指的是存储数据的节点。
node.data: true
master node:
控制ES集群,并维护集群的状态(cluster state,包括节点信息,索引信息等,ES集群每个节点都有一份)。
node.master: true
coordinating:
协调节点可以处理请求的节点,ES集群所有的节点均为协调节点,该角色无法取消。
实战开始
master 只能为103 且不写入数据
master角色和data角色分离实战
(1)停止所有节点的ES服务
systemctl stop es7
(2)所有节点清空数据
rm -rf /data/es7/{data,log}/* /tmp/*
(3)修改配置文件
[root@elk101 ~]# yy /app/elasticsearch-7.17.5/config/elasticsearch.yml
...
cluster.initial_master_nodes: ["elk103"]
node.data: true
node.master: false
[[email protected] ~]#
[root@elk103 ~]# yy /app/elasticsearch-7.17.5/config/elasticsearch.yml
...
cluster.initial_master_nodes: ["elk103"]
node.data: false
node.master: true
(4)启动集群
systemctl start es7
#### 开始验证
10.0.0.103:9200/_cat/nodes?v
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
10.0.0.103 47 66 49 0.86 0.35 0.18 ilmr * elk103
10.0.0.101 52 87 27 0.54 0.30 0.16 cdfhilrstw - elk101
10.0.0.102 59 69 32 0.92 0.39 0.19 cdfhilrstw - elk102
创建索引 PUT 10.0.0.101:9200/es-009
PUT 10.0.0.101:9200/es00400
{
"settings":{
"number_of_shards": 2,
"number_of_replicas":1
}
}