es配置中防止脑裂的配置
来源:互联网 发布:php查找字符串位置 编辑:程序博客网 时间:2024/05/17 22:55
Master和DataNode未分离,导致集群不稳定
在ES集群中,节点分为Master、DataNode、Client等几种角色,任何一个节点都可以同时具备以上所有角色,其中比较重要的角色为Master和DataNode:
- Master主要管理集群信息、primary分片和replica分片信息、维护index信息。
- DataNode用来存储数据,维护倒排索引,提供数据检索等。
可以看到元信息都在Master上面,如果Master挂掉了,该Master含有的所有Index都无法访问,文档中说,为了保证Master稳定,需要将Master和Node分离。而构建master集群可能会产生一种叫做脑裂的问题,为了防止脑裂,需要设置最小master的节点数为eligible_master_number/2 + 1
脑裂的概念:
如果你有2个Master候选节点,并设置最小Master节点数为1,则当网络抖动或偶然断开时,2个Master都会认为另一个Master挂掉了,他们都被选举为主Master,则此时集群中存在两个主Master,即物理上1个集群变成了逻辑上的2个集群,而当其中一个Master再次挂掉时,即便它恢复后回到了原有的集群,在它作为主Master期间写入的数据都会丢失,因为它上面维护了Index信息。
根据以上理论,我对集群做了如下更改,额外选取3个独立的机器作为Master节点,修改elasticsearch.yml配置
node.master = truenode.data = falsediscovery.zen.minimum_master_nodes = 2
修改其他节点配置,将其设置为DataNode,最后挨个重启
node.master = falsenode.data = true
阅读全文
0 0
- es配置中防止脑裂的配置
- ES的JVM配置
- es配置项解释以及脑裂问题的解决方案
- ES配置
- es配置
- es 配置
- Eclipse中配置Tomcat的内存,防止溢出
- es配置项解释以及脑裂问题
- es 参数配置
- ES集群安装配置
- es 分词配置
- ES多实例配置
- mr配置es
- ES内存配置
- matlab中配置Libsvm 防止备忘
- openGL ES在VS2012中配置遇到的应用程序无法正常启动0xc000007b解决方法
- apache防止多线程下载的配置方法
- 低配置Android手机OOM的防止
- Android广播的超时机制
- bseg---faglflexta
- poj3904 容斥原理或莫比乌斯反演
- Git内网服务搭建全过程
- SpringMVC自定义错误页面
- es配置中防止脑裂的配置
- Ubuntu网络配置
- 帮助方法 Array
- memset 、ZeroMemory和 “={0}” 三者区别
- LeetCode 224. Basic Calculator
- leetcode--Missing Number
- 关于环境变量以及CMD
- Android网络请求--动态加载的效果(已封装、可直接使用)
- Java生成SM2证书基于BouncyCastle(cer)