Elasticsearch集群中有的节点一般有三种角色:master node、data node和client node。
代码语言:javascript复制1:master node:master几点主要用于元数据(metadata)的处理,比如索引的新增、删除、分片分配等。
2:data node:data 节点上保存了数据分片。它负责数据相关操作,比如分片的 CRUD,以及搜索和整合操作。这些操作都比较消耗 CPU、内存和 I/O 资源;
3:client node:client 节点起到路由请求的作用,实际上可以看做负载均衡器。( 对于没有很多请求的业务,client node可以不加,master和data足矣)
选取10.90.4.9这台机器做为client node,elasticsearch.yml中的配置如下:
代码语言:javascript复制# 集群的名字,免得跟别人的集群混在一起
cluster.name: ucas
# 节点名字
node.name: node-09
node.master: true
node.data: false
# 修改一下ES的监听地址,这样别的机器也可以访问
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["10.90.4.9"]
discovery.zen.ping.multicast.enabled: true
启动10.90.4.9上的es服务器,现在只是一个单机集群。 在10.90.4.8这台机器上配置好同样的ES作为master node,elasticsearch.yml中的配置如下:
代码语言:javascript复制# 集群的名字,免得跟别人的集群混在一起
cluster.name: ucas
# 节点名字
node.name: node-08
node.master: true
node.data: true
# 修改一下ES的监听地址,这样别的机器也可以访问
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["10.90.4.9"]
discovery.zen.ping.multicast.enabled: true
10.90.4.7作为data node,配置如下:
代码语言:javascript复制# 集群的名字,免得跟别人的集群混在一起
cluster.name: ucas
# 节点名字
node.name: node-07
node.master: false
node.data: true
# 修改一下ES的监听地址,这样别的机器也可以访问
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["10.90.4.9"]
discovery.zen.ping.multicast.enabled: true
访问http://10.90.4.9:9200/_plugin/head/
image.png
如图,node-09为client节点,不存储数据。