集群搭建(脑裂)

Posted Palpitate

tags:

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

# 1 广播方式(一般不用)
    -只要es节点能联通,ping,自动加人到节点中
    
# 2 单播方式



#1 elasticsearch1节点,,集群名称是my_es1,集群端口是9300;节点名称是node1,监听本地9200端口,可以有权限成为主节点和读写磁盘(不写就是默认的)。

cluster.name: my_es1
node.name: node1
network.host: 127.0.0.1
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:9302", "127.0.0.1:9303", "127.0.0.1:9304"]

# 2 elasticsearch2节点,集群名称是my_es1,集群端口是9302;节点名称是node2,监听本地9202端口,可以有权限成为主节点和读写磁盘。

cluster.name: my_es1
node.name: node2
network.host: 127.0.0.1
http.port: 9202
transport.tcp.port: 9302
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:9302", "127.0.0.1:9303", "127.0.0.1:9304"]

# 3 elasticsearch3节点,集群名称是my_es1,集群端口是9303;节点名称是node3,监听本地9203端口,可以有权限成为主节点和读写磁盘。

cluster.name: my_es1
node.name: node3
network.host: 127.0.0.1
http.port: 9203
transport.tcp.port: 9303
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:9302", "127.0.0.1:9303", "127.0.0.1:9304"]

# 4 elasticsearch4节点,集群名称是my_es1,集群端口是9304;节点名称是node4,监听本地9204端口,仅能读写磁盘而不能被选举为主节点。

cluster.name: my_es1
node.name: node4
network.host: 127.0.0.1
http.port: 9204
transport.tcp.port: 9304
node.master: false
node.data: true
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300", "127.0.0.1:9302", "127.0.0.1:9303", "127.0.0.1:9304"]

由上例的配置可以看到,各节点有一个共同的名字my_es1,但由于是本地环境,所以各节点的名字不能一致,我们分别启动它们,它们通过单播列表相互介绍,
发现彼此,然后组成一个my_es1集群。谁是老大则是要看谁先启动了!
#3 假设有7个节点 -由于网络问题 3个节点一组 , 4 个节点一组形成了两个机器 -防止脑列 防止脑裂,我们对最小集群节点数该集群设置参数:(集群节点总数/2+1的个数) discovery.zen.minimum_master_nodes: 3 # 3=5/2+1

 

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

Elasticsearch之打分机制集群搭建脑裂问题

Elasticsearch 分布式搜索引擎 -- 搭建ES集群 集群状态监控(cerebro) 创建集群索引库 集群脑裂问题 集群职责划分 集群分布式存储 集群分布式查询 集群故障转移

达梦守护集群脑裂

达梦守护集群脑裂

elasticSearch:避免es集群的“脑裂”现象

ES集群Unassigned(脑裂现象)