虚拟化容器,大数据,DBA,中间件,监控。

elasticsearch防脑裂配置(十一)

15 11月
作者:admin|分类:大数据

elasticsearch防脑裂配置

脑裂产生的原因及现象:

当公司有多个idc机房,并且有多个es集群节点,这些节点都分布在不同的机房,机房之间通过openvpn进行连接,机房1上有2个es节点,并且有1个是主节点,机房2上有2个es节点都是工作节点,当机房产生网络波动后,两个机房之间的es节点不能通信,这时机房1上的两个es节点因为有主节点的存在,依然是正常工作的,但是机房2上的es由于连接不上主节点,就认为主节点挂掉了,自己就选举成为了主节点,自己虽然成了主节点,但是没有入口来往集群中写数据,这时两个机房的es存储的数据就不一致了,当网络波动结束后,两个机房的es节点这时就比较尴尬了,两边都是主节点,无法分辨是谁挂了,无法确认和谁同步数据,这时用户在访问es上的数据,就会发现第一次访问了123,第二次刷新就成了456,这时就导致了数据的不一致,也就是脑裂的产生

脑裂产生的现象就是不同机房的es节点都认为对方机房的节点挂掉了,并将自己选举成了主节点,一个集群里俩master同时存在就会接收不同的数据,从而产生数据不一致问题

es集群节点数建议使用单数不建议使用偶数

es集群防止脑裂产生的配置方法

discovery.zen.minimum_master_nodes: 2		#节点的master数量,一半是集群节点数除2+1的数量,3个节点就是2		
discovery.zen.fd.ping_interval: 10s			#节点间存活检测间隔
discovery.zen.fd.ping_timeout: 60s			#连接超时等待时间
discovery.zen.fd.ping_retries: 6				#重试次数,当连接超时后重试多少次
浏览415 评论0
返回
目录
返回
首页
filebeat将收集的日志存储在指定es索引库并在kibana上展示日志数据(三) 使用filebeat简单收集多个nginx应用服务器日志(一)