大数据应用 greenplum集群某台机器磁盘占用100%处理方式
沉沙 2018-09-27 来源 : 阅读 2927 评论 1

摘要:本篇教程介绍了大数据应用 greenplum集群某台机器磁盘占用100%处理方式,希望阅读本篇文章以后大家有所收获,帮助大家对大数据云计算大数据应用的理解更加深入。

本篇教程介绍了大数据应用 greenplum集群某台机器磁盘占用100%处理方式,希望阅读本篇文章以后大家有所收获,帮助大家对大数据云计算大数据应用的理解更加深入。

<

 一、问题描述
使用gpfdist往集群中导入大量数据, 一段时间后连接退出,集群无法连接
 二、问题定位
使用如下命令查看:

gpstate -s
mdw-1:gpadmin-[INFO]:-   Segment Info
mdw-1:gpadmin-[INFO]:-      Hostname                          = sdw-1
mdw-1:gpadmin-[INFO]:-      Address                           = sdw-1
mdw-1:gpadmin-[INFO]:-      Datadir                           = /home/mirror/gpseg2
mdw-1:gpadmin-[INFO]:-      Port                              = 50000
mdw-1:gpadmin-[INFO]:-   Mirroring Info
mdw-1:gpadmin-[INFO]:-      Current role                      = Mirror
mdw-1:gpadmin-[INFO]:-      Preferred role                    = Mirror
mdw-1:gpadmin-[WARNING]:-   Mirror status                     = Out of Sync                    <<<<<<<<
mdw-1:gpadmin-[INFO]:-   Status
mdw-1:gpadmin-[INFO]:-      PID                               = 10227
mdw-1:gpadmin-[WARNING]:-   Configuration reports status as   = Down                           <<<<<<<<
mdw-1:gpadmin-[WARNING]:-   Segment status                    = Down in configuration          <<<<<<<<

连接到相应机器,查看磁盘状况:
 
说明此时磁盘占用满了。
 三、问题解决
处理这种情况有如下几种方式:
3.1 扩容磁盘
由于本人是将数据目录直接放在根目录下,可以通过添加一块新磁盘的方式直接扩容空间
 
3.2 清理文件
往往,线上的环境不会有足够的时间进行磁盘的扩容,甚至一些其他因素导致根本你就接触不到服务器。那么这时候只能进行文件的清除。
3.2.1 清理日志文件
系统长时间运行后,一般占用比较大的会是pg_log文件夹下日志文件,这里推荐的做法是日志文件的磁盘和数据目录挂载在不同的磁盘路径下,若在同一路径下,可将日志文件备份到其他路径,腾出一部分空间,让系统正常启动。操作如下:
1)使用gpstop停止集群
2)处理日志文件移动到其他位置,或者认为可以不要的直接删除
3)gpstart启动集群,启动后就可以将一些频繁变化的表执行 vacuum动作,或者删除一些无用的表
4)若以上动作做完,并不能释放出空间,则需要考虑下一种方法
3.2.2 清理pg_xlog文件
 在segment下,会有pg_xlog文件夹,这个文件夹里存储的是wal日志信息,记录事务信息,类似oracle的redo日志,数据在进入greenplum数据库前,都是先进入到该日志文件中,所以该文件非常重要,千万不能手工操作该目录下的文件,如果直接手工删除了该文件,数据库就无法启动。所以删除该文件要谨慎,可以使用该命令:pg_resetxlog 。只有在xlog占用了大量空间的情况下才考虑清理,否则不建议清理。操作步骤:
1)停止greenplum集群
2)使用pg_controldata命令

?12345pg_controldata $segment_directory......Latest checkpoint's NextXID:          0/1874Latest checkpoint's NextOID:          111252......

这里$segment_directory是安装集群是的segment目录,也就是gpstate -s命令看到的路径,如果找不到可以搜索pg_control,该文件所在的位置即为需要的目录位置通过上述命令获取到标红的两处关键性信息
3)执行如下命令:

?1pg_resetxlog -o 111252 -x 1874 -f $segment_directory

注意,以上命令需要数据库管理员账户执行,上述命令完成后,能够有不少的空间释放出来。
4)启动greenplum集群
 四、实践建议
1、清理xlog日志是在不得已的情况下才这么做,待集群正常启动后,需要谨慎验证数据的完整性
2、需要有自己的一套监控机制监控磁盘使用率,尽可能的避免磁盘使用100%的情况发生,一旦由于这种情况导致了集群崩溃,甚至丢失数据,可能是灾难性的
3、如果是由于误删了pg_logs的文件导致集群无法启动,也可以使用pg_resetxlog命令使集群恢复启动,但一定要谨慎验证数据的完整性    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据应用频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 1
看完这篇文章有何感觉?已经有1人表态,0%的人喜欢 快给朋友分享吧~
评论(1)
后参与评论
职坐标抄袭
抄我的文章,不注明出处,还抄错了,这个抄袭网站真厉害
2019/01/12 10:42:17

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程