elastic / linux · 2021年7月21日 0

Elasticsearch集群节点概述,搭建集群


Elasticsearch的集群是由多个节点组成的,通过cluster.name设置集群名称,并且用于区分其他的集群,每个节点通过node.name指定节点的名称。

下面简单讲述下节点概念和如何搭建三节点集群,本文仅供学习与交流,请勿用于商业用途。

节点概述

在elasticsearch中,节点的类型主要有4种:

master节点

配置文件中node.master属性为true(默认true),就有资格被选为master节点。
master节点用于控制整个集群的操作。比如创建或者删除索引,管理其他非master节点等。

data节点

配置文件中node.data属性为true(默认为True),就有资格被设置成data节点。
data节点主要用于执行数据相关的操作,比如文档的CRUD。

客户端节点节点

配置文件中node.master属性和node.data属性为false
该节点不能作为master节点,也不能作为data节点。
可以作为客户端节点,用于响应用于的请求,把请求转发到其他节点

部落节点

当一个节点配置tribe.*的时候,它是一个特殊的客户端,它可以连接多个集群,在所有连接的集群上执行搜索和其他操作

搭建集群

1. 启动三个虚拟机,分别安装elasticsearch

节点节点类型网络地址
node01master节点192.168.214.130
node02data节点192.168.214.131
node03客户端节点192.168.214.132

2. 分别修改三台机器的ES配置文件

node1:
cluster.name: vmware_test
node:
    name: node01
    master: true
    data: true
path:
    data: /var/lib/elasticsearch
    logs: /var/log/elasticsearch
bootstrap.memory_lock: false
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["192.168.214.130","192.168.214.131","192.168.214.132"]
node2:
cluster.name: vmware_test
node:
    name: node02
    master: false
    data: true
path:
    data: /var/lib/elasticsearch
    logs: /var/log/elasticsearch
bootstrap.memory_lock: false
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["192.168.214.130","192.168.214.131","192.168.214.132"]
node3:
cluster.name: vmware_test
node:
    name: node03
    master: false
    data: false
path:
    data: /var/lib/elasticsearch
    logs: /var/log/elasticsearch
bootstrap.memory_lock: false
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["192.168.214.130","192.168.214.131","192.168.214.132"]

3. 分别启动三台服务器的elasticsearch服务

systemctl start elasticsearch

浏览器尝试访问目标地址

firefox 192.168.214.130