本次搭建集群环境需要3台PC
Elasticsearch集群中的三种角色
- master node:master几点主要用于元数据(metadata)的处理,比如索引的新增、删除、分片分配等。
- data node:data 节点上保存了数据分片。它负责数据相关操作,比如分片的 CRUD,以及搜索和整合操作。这些操作都比较消耗 CPU、内存和 I/O 资源;
- client node:client 节点起到路由请求的作用,实际上可以看做负载均衡器。
其对应的高性能集群拓扑结构模式为:
# 配置文件中给出了三种配置高性能集群拓扑结构的模式,如下:
# 1. 如果你想让节点从不选举为主节点,只用来存储数据,可作为负载器
# node.master: false
# node.data: true
# 2. 如果想让节点成为主节点,且不存储任何数据,并保有空闲资源,可作为协调器
# node.master: true
# node.data: false
# 3. 如果想让节点既不称为主节点,又不成为数据节点,那么可将他作为搜索器,从节点中获取数据,生成搜索结果等
# node.master: false
# node.data: false
以上配置可根据实际情况修改。
每台PC都安装了 x-pack,并且master 节点 也安装了 Kibana
第一台PC:
192.190.20.xxx master-node
###### vi elasticsearch.yml
cluster.name: elasticsearch
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: master-node
#http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.ping.unicast.hosts: ["192.190.20.xxx:9300"]
discovery.zen.minimum_master_nodes: 1
#discovery.zen.ping.multicast.enabled: true
action.auto_create_index: true
xpack.security.enabled: false
第二台PC
====== slave01-datanode ======
###### vi elasticsearch.yml
cluster.name: elasticsearch
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
node.name: slave01-datanode
node.data: true
node.master: false
discovery.zen.ping.unicast.hosts: ["192.190.20.xxx:9300"]
action.auto_create_index: true
xpack.security.enabled: false
第三台PC
###### vi elasticsearch.yml
cluster.name: elasticsearch
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
#node.name: node-1
node.name: slave02-clientnode
node.data: false
node.master: false
discovery.zen.ping.unicast.hosts: ["192.190.20.xxx:9300"]
action.auto_create_index: true
xpack.security.enabled: false
以上配置 绿色部分必须保持一致
经过以上配置后,即可完成集群的搭建。
输入 192.190.20.xxx:5601 即可看到