赞
踩
配置集群名称,保证每个节点的名称相同,如此就能都处于一个集群之内了 cluster.name: imooc-es-cluster
每一个节点的名称,必须不一样 node.name: es-node1
http端口(使用默认即可) http.port: 9200
主节点,作用主要是用于来管理整个集群,负责创建或删除索引,管理其他非master节点(相当于企业老总) node.master: true
数据节点,用于对文档数据的增删改查 node.data: true
集群列表 discovery.seed_hosts: [“192.168.1.184”, “192.168.1.185”, “192.168.1.186”]
启动的时候使用一个master节点 cluster.initial_master_nodes: [“es-node1”]
首先清空data中的数据
然后配置cluster.name(每个服务器上的都是一样的)
配置node.name(每个节点的服务器都是不一样的)
跨域的设置
node.master和node.data
node.master = true // 代表有可能被选举成master节点
node.data = true // 代表可以对数据的增删改查
如果发生网络中断或者服务器宕机,那么集群会有可能被划分为两个部分,各自有自己的master来管理,那么这就是脑裂
master主节点要经过多个master节点共同选举后才能成为新的主节点。就跟班级里选班长一样,并不是你1个人能决定的,需要班里半数以上的人决定。
解决实现原理:半数以上的节点同意选举,节点方可成为新的master。
discovery.zen.minimum_master_nodes=(N/2)+1
N为集群的中master节点的数量,也就是那些 node.master=true 设置的那些服务器节点总数。
在最新版7.x中, minimum_master_node 这个参数已经被移除了,这一块内容完全由es自身去管理,这样就避免了脑裂的问题,选举也会非常快。
这里的n等于配置了node.mster=true的节点数量
协调节点可以当成是一个controller
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。