Greenplum高可用真的高吗?
@
1. 问题描述
在项目中使用了Greenplum做分析型数据库,Greenplum自身已经提供了高可用方案,Master节点提供Sdanby备用节点,Segment数据节点每个节点都有对应mirro节点。
但是Greenpplum提供的高可用方案,其实是存在缺陷的,就是master节点出现故障后,standby节点是不会自动启动的,需要人工干预(segment数据节点会自动切换),这样就会导致两个问题:
(1)当Greenpplum的Master节点出现故障后,需要人工干预去激活并切换到Standby节点,一般公司是有运维团队的,会通过进程监控并通知相关人员来处理,但是这个过程是需要一定时间的,假如用户在使用,肯定会有所感知的,会影响实际业务。
(2) 最致命的是将主节点切换到Standby节点后,Greenpplum的访问IP发生了变化,这时候连接Greenpplum的Web服务必须修改连接IP才能访问,一般情况下是需要重启应用服务器的,假如连接Greenpplum的是多个系统,并且是以集群的方式部署启动的的,重启的代价可能会很高。
2. 解决方案
2.1 Greenplum架构简单介绍
2.1.1 Greenplum架构图
数据库连接通过Master节点进行访问,跟oracle、mysql、postgre等关系型数据库连接方式一样
2.1.2 Greenplum提供的高可用方案
主节点Master节点有standby备用节点,数据节点segement存在mirrio(一般存储在临近服务器上)。
2.2 使用keepalived+greenplum实现真正的高可用
2.2.1 keepalived+greenplum架构图
2.2.2 架构图解析
(1) 在Greenplum的master节点和standby节点部署keepalive服务,使用keepalive监控greenplum的进程状态和服务可用性;
(2) 采用keeplived的机制,在master和standby 上面生成一个虚拟IP,应用系统配置的连接地址为该虚拟IP地址,当master节点出现故障后,由Keepalived机制来保证切换到standby节点,需要特别注意的是切换到standby节点的时候,需要首先激活Standby节点,这样就解决了greenplum主备节点的无缝切换
2.3 高可用方案存在的问题
该高可用方案是通过比较成熟的keepalived来保证主从节点的切换,弥补了Greenplum本身高可用架构的不足,基本能解决大部分问题,认为是可行的。
但是也存在不足之处,就是假如主节点上的keepalived出现了故障,但是Greenplum服务正常;这时候虚拟IP已经漂移到Standby对应IP节点,但是因为Greenplum的Master服务其实是正常,Standby服务会激活失败,进而导致服务不可用,但是该情况几率较小,后续可以考虑将keepalived进程增加到运维进程监控中。
Greenplum高可用真的高吗?的更多相关文章
- 15套java架构师、集群、高可用、高可扩展、高性能、高并发、性能优化、Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战视频教程
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩展. ...
- 15套java架构师、集群、高可用、高可扩 展、高性能、高并发、性能优化Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战视频教程
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展 ...
- 面试连环炮系列(一):如何保证Redis高可用和高并发
如何保证Redis高可用和高并发? Redis主从架构,一主多从,可以满足高可用和高并发.出现实例宕机自动进行主备切换,配置读写分离缓解Master读写压力. Redis高可用方案具体怎么实施? 使用 ...
- HttpClient客户端网络编程——高可用、高并发
本文是HttpClient的学习博客,RestTemplate是基于HttpClient的封装,feign可基于HttpClient进行网络通信. 那么作为较底层的客户端网络编程框架,该怎么配置使其能 ...
- 七、Hadoop3.3.1 HA 高可用集群QJM (基于Zookeeper,NameNode高可用+Yarn高可用)
目录 前文 Hadoop3.3.1 HA 高可用集群的搭建 QJM 的 NameNode HA Hadoop HA模式搭建(高可用) 1.集群规划 2.Zookeeper集群搭建: 3.修改Hadoo ...
- 使用glusterfs 作为 kubernetes PersistentVolume PersistentVolumeClaim 持久化仓库,高可用Rabbitmq,高可用mysql,高可用redis
glusterfs 怎么集群,网上一搜铺天盖地的 可利用这个特点做单节点高可用,因为K8S 哪怕节点宕机了 master 会在随意一台节点把挂掉的复活 当然我是在自己的环境下跑,经过网络的gluste ...
- SpringCloud高可用和高并发
1 高可用 什么是高可用:(High Availability)在一个长时间内服务不受影响.通俗的讲就是,一个机器挂掉的时候,有其他机器可以继续提供同样的服务. 如何实现高可用:冗余+自动故障转移.冗 ...
- springcloud微服务多节点高性能、高可用、高并发部署
1. 共有三个服务 discovery服务,domain服务,gateway服务. discovery服务是用来注册其他服务的,作为服务治理用. domain服务是主业务服务. gateway服务是所 ...
- (5.1)mysql高可用系列——高可用架构方案概述
关键词:mysql高可用概述,mysql高可用架构 常用高可用方案 20190918 现在业内常用的MySQL高可用方案有哪些?目前来说,用的比较多的开源方案分内置高可用与外部实现,内置高可用有如下: ...
随机推荐
- Java FTP 基本操作
最近工作中用到了 FTP 相关的操作,所以借此机会了解了下具体内容. FTP基础 关于 FTP 基础推荐阅读<使用 Socket 通信实现 FTP 客户端程序>,其中需要特别注意的是主动模 ...
- 图像滤镜艺术---Wave滤镜
原文:图像滤镜艺术---Wave滤镜 Wave Filter水波滤镜 水波滤镜是通过坐标变换来模拟水波效果,使图像呈现出水波的特效.这个滤镜有一个可调参数:水波的扭曲程度. 代码如下; // ...
- 图像滤镜艺术---(Nostalgla Filter)老照片滤镜
原文:图像滤镜艺术---(Nostalgla Filter)老照片滤镜 (Nostalgla Filter)老照片滤镜 Nostalgla Filter主要是通过算法来模拟一种复古,陈旧的照片风格,以 ...
- 微信小程序把玩(二十一)switch组件
原文:微信小程序把玩(二十一)switch组件 switch开关组件使用主要属性: wxml <!--switch类型开关--> <view>switch类型开关</vi ...
- NBU客户端安装失败
该服务器是阿里云上的centos6.8,是用来做oracle服务器,买来之后进行测试,发现没有安装图形化界面,还有部分包也没有安装.在oracle安装完成之后,尝试安装NBU的客户端,结果发生报错:T ...
- c# 计算字符串和文件的MD5值的方法
快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中. <HTML开发Mac OS App 视频教程> 土豆网同步更新:http: ...
- 使用WebBrowser并调用网页中的JS函数
在界面上拖入QAxWidget,注意这里不建议直接在UI设计界面指定控件,否则可能引起QtCreator崩溃 建议在代码中动态设置,如: ui->axWidget->setControl( ...
- Delphi中取得汉字的首字母(十分巧妙)
function Tdm.GetHzPy(const AHzStr: string): string;const ChinaCode: array[0..25, 0..1] of Integer = ...
- SpringMVC使用MultipartFile文件上传,多文件上传,带参数上传
一.配置SpringMVC 二.单文件与多文件上传 三.多文件上传 四.带参数上传 一.配置SpringMVC 在spring.xml中配置: <!-- springmvc文件上传需要配置的节点 ...
- MASM 命令行编译方法
假设有一个t est.asm ,一个test.rc 可以在CMD里这么编译: ml /c /coff test.asm rc test.rc link /subsystem:windows test. ...