ES集群搭建

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES集群搭建相关的知识,希望对你有一定的参考价值。

参考技术A 一、集群搭建

1.前置操作

若克隆已有的es虚拟机,一定要清空一下文件:

2.配置集群,修改elasticsearch.yml

# 配置集群名称,保证每个节点的名称相同,如此就能都处于一个集群之内了

cluster.name: imooc-es-cluster

# 每一个节点的名称,必须不一样

node.name: es-node1

# http端口(使用默认即可)

http.port: 9200

# 主节点,作用主要是用于来管理整个集群,负责创建或删除索引,管理其他非master节点(相当于企业老总)

node.master: true

# 数据节点,用于对文档数据的增删改查

node.data: true

# 集群列表(列出所有的其它服务器ip)

discovery.seed_hosts: ["192.168.1.184", "192.168.1.185", "192.168.1.186"]

# 启动的时候使用一个master节点

cluster.initial_master_nodes: ["es-node1"]

3.可查看剔除注释的配置文件内容

more elasticsearch.yml | grep ^[^#]

4.分别启动各个节点,后查看信息

二、集群脑裂

1.集群脑裂

如果发生网络中断或者服务器宕机,那么集群会有可能被划分为两个部分,各自有自己的master管理,那么这就是脑裂

服务器1原为master,宕机后自己投票为master

2.解决方案

解决实现原理:半数以上的节点同意选举,节点方可成为master

discovery.zen.minimum_master_nodes=(N/2)+1;

N为集群中master节点的数量,也就是node.master=true服务节点总数

3.ES7之后无此参数,已交由es自己管理

es集群搭建(2个节点)

可以说Elasticsearch就是为分布式而生的,网上的资料很多,但把搭建集群介
绍的详细的很少,这里介绍下2个es节点组成的集群的搭建(针对5.0及以上版本),针对一些概念性(如单播,组播等)的内容不再赘述

首先需要提醒的是:
1.两个节点必须能ping通
2.如果已在一个节点上安装了x-pack,那么每个节点上都需要安装x-pack,否则即使2个节点可以ping通,也不会成功加入到一个集群

es节点ip:
node123: 192.168.1.123
node66: 192.168.1.66

需要更改的主要是elasticsearch.yml文件,位于/ESHOME/config目录下(ESHOME即es的安装目录)

node123需要更改的内容如下:

cluster.name: clustername #集群名称,默认为elasticsearch
node.name: node123 #节点名
http.port: 9200 #访问端口,为了安全建议修改
network.host: 192.168.1.123

path.logs: #日志的路径
path.data: #数据的路径
path.plugins: #插件的路径

discovery.zen.ping.unicast.hosts: ["192.168.1.66"] #发现新的节点的ip

node66需要更改的内容如下:

cluster.name: clustername
node.name: node66
http.port: 9200
network.host: 192.168.1.123

配置好后启动两个节点的es,然后进入kinana,在Dev Tools左侧输入以下命令:
GET _cluster/health
如果看到类似下面的结果则表示2节点集群搭建成功


注:
1.一个集群内所有节点的集群名必须一致,即上面的clustername
2.一个集群内不能出现2个一样的节点名
3.如果某一个配置文件里的配置有缩进,则配置文件里所有非注释必须有相同的缩进,要不然可能会报错
4.path.logs,path.data,path.plugins这三个路径建议不要设置在/ESHOME目录下,否则当es重新安装时可能会被覆盖,造成数据丢失
5.发现节点的方式建议用单播的方式,即上面的方法,[]里可以填写多个ip,用逗号分隔,跟python里的链表一样,格式为 host:port 或者 host
6.扩容的方式建议为水平扩容(增加相同配置的服务器),而不是垂直扩容(增加服务器的性能)

 

上图是项目某段时间内一部分日志统计的结果,现在用户量还不是很大,所以量并不多。o( ̄︶ ̄)o

ref:
https://www.elastic.co/guide/cn/elasticsearch/guide/current/important-configuration-changes.html#unicast

原文:https://blog.csdn.net/wang454592297/article/details/78804730

以上是关于ES集群搭建的主要内容,如果未能解决你的问题,请参考以下文章

ES集群安装搭建

Docker搭建ES集群配置

搭建本地测试es集群

es集群搭建(2个节点)

elasticsearch系列八:ES 集群管理(集群规划集群搭建集群管理)

02 es 集群搭建