Greenplum -- segment 死机后恢复 精选 原创 朱飞东 2019-01-07 15:53:01 博主文章分类:Greenplum ©著作权 文章标签 greenplum GPDB 文章分类 数据库 ©著作权归作者所有:来自51CTO博客作者朱飞东的原创作品,请联系作者获取转载授权,否则将追究法律责任 一、备份原理: GPDB4.x中:是基于文件复制同步,如果个别segment宕机,整个数据库依然可以运行,当Mirror宕机时,Primary会记录在这个阶段文件变化的数据块,等到Mirror恢复了,再把数据块复制过去;当Primary宕机了,那么对于的Mirror节点就会替换Primary,记录文件变化的数据块,等到Primary恢复了,它就变成了Mirror,丢失的数据就会被复制过来,这里虽然可以继续运行,但是存在一个问题,那就是Primary和Mirror调换了,导致个别机器Primary比其他机器多,负载不均衡,最好还是把它从新恢复过正常对应关系来 二、恢复: 2.1、使用sql查询segment状态: testdb=# select * from gp_segment_configuration; 存在部分segment down机的时候,在关闭的GPDB的时候,我们可以看到 再次启动时也一样,GPDB会忽略掉down机的segment,同时开启mirror备用 2.1、使用配置文件生成恢复文件 可以看到生成的配置文件里包含了需要恢复的segment节点 2.2、使用配置文件开始恢复机器 2.3、开启另外一个窗口,查看恢复状态:gpstate -m Resynchronizing:正在恢复中,必须等待所有的都Synchronized才行 2.4、存在:Acting as Primary,说明有将mirror当primary使用了,必须等待所有恢复完毕之后,才能调换过来,调换过程会重启GPDB 执行命令:gprecoverseg -r 2.5、全部交换之后,查看备用mirror的状态 gpstate -m 2.6、sql查询各节点信息,都为up状态 赞 收藏 评论 分享 举报 上一篇:Greenplum -- 最全分区表操作 下一篇:Greenplum -- 数据迁移(成倍增加计算能力) 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 数据库恢复技术||故障的种类和恢复的实现技术以及恢复策略 故障的种类: 事务内部的故障:包括预期和非预期的事务内部错误。系统故障:导致系统停止运行的事件,如硬件错误、操作系统故障、DBMS代码错误等。 介质故障:外存故障,如磁盘损坏、磁头碰撞等。 计算机bing毒:人为制造的程序,可能对数据库造成破坏。恢复的实现技术:数据转储:定期将数据库复制到其他存储介质上,分为静态转储和动态转储。登记日志文件:记录事务对数据库的所有更新操作,用于恢复。恢复策略: 事务故障恢复:利用日志文件撤销(UNDO)事务已对数据库进行的修改。系统故障恢复:结合日志文件进行UNDO和REDO操作,恢复数据库到一致状态。介质故障恢复:重装数据库副本并重做已完成的事务。具有检查点的恢复技术:检查点(Checkpoint):在日志文件中增加检查点记录,用于优化恢复过程。 恢复策略:根据检查点记录,确定需要UNDO或REDO的事务。数据库镜像:数据库镜像是将数据库或关键数据复制到另一个磁盘上,以提高数据库的可用性和恢复效率。 检查点 数据库 日志文件 数据库安全 数据恢复 Binlog数据恢复 binlog日志恢复数据 mysql 数据库 恢复数据 服务器反复自动重启/死机的原因 服务器需要全年不间断地运行,而且它还承载各种应用程序。很多用户在租用服务器的时候会遇到各类问题,本文写的是服务器自动重启/死机可能会出现的原因及解决办法~1.电源是否接触不良首先,第一步就是检查插头是否插紧,检查电源插座是否正常。大概有四分之一的此类故障其实都是因为这样的小原因造成的。2.检查主机电源是否故障确认接电源的电缆、插头是否正确连接、插线是否没问题(可以换一根电源线试试),电源的 服务器 自动重启 死机 Greenplum segment节点异常恢复 Segment检测及故障切换机制GP Master首先会检测Primary状态,如果Primary不可连通 配置文件 postgresql 数据库 GreenPlum 大数据平台--segment 失效问题恢复 1,问题检查[gpadmin@greenplum01 conf]$ psql -c "select * from gp_segment_configuration where status='d'" dbid | content | role | preferred_role | mode | status | port | hostname | address | replica 3c linux postgresql GreenPlum 大数据平台--segment 失效问题恢复《二》(全部segment宕机情况下) 01,情况描述 主Segment和它的镜像都宕掉。导致了greenplum数据库不可用状态02,重启greenplum数据库gpstop -r03,恢复gprecoverseg04,状态检查gpstate -m 保证所有segment处于Synchronized05,存在处于Change Tracking模式运行gprecoverseg -F 数据库 重启 故障分析 | Greenplum Segment 故障处理 作者:杨文DBA,负责客户项目的需求与维护,会点数据库,不限于MySQL、Redis、Cassandra、GreenPlum、Click GreenPlum 分布式数据库 bc 3c Database GreenPlum 大数据平台--增加segment 01,增加机器的配置 需要增加的机器安装greenplum 软件(操作见greenplum安装部署章节)02,分配机器存储区域03,配置互信 使用gpssh-exkeys确保Segment主机能通过SSH和SCP免密码连接到彼此。04,配置文件编写 创建一个配置文件,其中列出要在其上创建镜像的主机名称、端口号和数据目录镜像配置文件的格式为:filespaceOrder=[fil 配置文件 数据目录 安装部署 Greenplum的segment故障自愈小试 故障自愈小试,算是小小解放了下自己 Greenplum的segment故障自 GreenPlum 大数据平台--segment 失效问题排查 01,segment 检查一: 在master节点上检查失效的segment 正常情况下:1 20190711:16:08:57:024059 gpstate:greenplum01:gpadmin-[INFO]:-Starting gpstate with args: -e 2 20190711:16:08:57:024059 gpstate:greenplum01:gpadmin-[IN sql 3d 3c greenplum 单机部署两个segment greenplum segment 数量 Greenplum集群扩容总结Greenplum集群扩容总结 11 概述 22 扩容前准备 23 扩容方案对比 23.1 使用gpexpand进行数据库扩容 23.2 新建Greenplum集群,重新导入数据 34 查看集群的基本信息 34.1 查看集群的版本 34.2 查看master和stadby信息 44.3 查看segment信息 44.4 当前集群链接检查 44.5 查看集群的运行状态信 数据库 数据 vim Greenplum segment是独立 greenplum administration 1. 数据库启动:gpstart常用可选参数: -a : 直接启动,不提示终端用户输入确认 数据库 sql 占用空间 greenplum double最大长度 greenplum segment 数量 Zabbix5.0监控Greenplum1.Greenplum集群介绍 Greenplum集群具有较好的容错性和高可用性,其中一点就体现在segment镜像机制上。接下来本文会简单地阐述segment的作用以及segment镜像机制是如何保证GP高可用的。Greenplum集群由一个Master和多个segment组成segment用来存储数据一台机器可以有多个segment每个segment是一 postgresql 数据库 zabbix 监控类 big data greenplum并发数 greenplum segment 数量设置 Segment镜像允许数据库查询在主Segment失效或者不可用时转移到备份Segment上。Pivotal要求对其支持的生产Greenplum数据库系统采用镜像。为了确保高可用,主Segment及其镜像必须位于不同主机上。Greenplum数据库系统中的每一台主机都有相同数量的主Segment和镜像Segment。多连接主机应该在每个接口上有相同数量的主Segment和镜像Segment。这能确 greenplum并发数 文件空间 自定义 配置文件 GreenPlum 数据备份与恢复 备份文件 sql 数据库 时间戳 数据 greenplum 获取所有角色 greenplum segment 数量设置 GreenPlum参数调优段设置确定每个段主机上段数据库的个数对整体性能有着巨大影响。这些段数据库之间共享主机的 CPU 核、内存、网卡等,且和主机上的所有进程共享这些资源。过高地估计每个服务器上运行的段数据库个数,通常是达不到最优性能的常见原因之一。下因素确定了一个主机上可以运行多少个段数据库:CPU 核的个数物理内存容量网卡个数及速度存储空间主段数据库和镜像共存主机是否运行 ETL 进程主机上 greenplum 获取所有角色 数据库 数据 临时文件 greenplum查看分区表尺寸 greenplum segment 数量 Greenplum master节点是用来存储元数据的,包括 : 序列,表,临时表,分区,函数,视图,类型,操作符,规则,触发器 等。 segment 上也会存储部分元数据, 序列,表,临时表,函数,视图,类型,操作符,规则,触发器 等。 master比segment更多的信息包括: 分布策略,分区表,以及一些特殊的配置元数据。gp_distribution_policy pg_partitio greenplum查看分区表尺寸 元数据 触发器 操作符 greenplum java 批量写入优化 greenplum segment 数量设置 扩展Greenplum segment个数,总共分三步。1. 将主机加入集群(如果在原有主机扩展,不需要这一步)这一步主要做的是环境配置,例如OS kernel 参数;创建gp管理用户;ssh key的交换(使用gpssh-exkeys -e exist_hosts -x new_hosts);greenplum bin软件的拷贝;规划segment 数据目录;使用gpcheck检 运维 数据库 sed 配置文件 初始化 autovacuum greenplum 参数设置 greenplum segment 数量设置 ORIGINAL值为CentOS7的缺省值,供对比。# 系统所允许的最大共享内存段的大小(以字节为单位)。# ORIGINAL.kernel.shmmax = 18446744073692774399kernel.shmmax = 500000000 # 整个系统共享内存段的最大数量。# ORIGINAL.kernel.shmmni = 4096kernel.shmmni GreenPlum 内核参数 .net 消息队列 重启 greenplum slave 恢复 greenplum使用 8. GPDB 系统常规操作在 Greenplum 数据库 DBMS 中,数据库服务实例(主节点和所有segment节点)开始或者停止时是可以跨所有服务器的,在这种方式下,他们可以作为统一的 DBMS 工作。由于 Greenplum 数据库系统 是分布跨在很多的机器上,Greenplum 数据库系统 开始和停止的处理不同于常规的 PostgreSQL DBMS 处理。使用 gpstart 和 greenplum slave 恢复 数据库 网络 操作系统 重启