greenplum删除segment节点后启动集群失败-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

greenplum删除segment节点后启动集群失败

qinzl_1 2017-08-12 14:04:17 5307

通过
=#PGOPTIONS="-c gp_session_role=utility" psql --进入utility
=#set allow_system_table_mods='dml';
=#delete from gp_segment_configuration where contentin(2);
=#select * from gp_segment_configuration order by dbid;
等一系列命令删除segmen节点后
gpstart -a 数据库启动失败
报错:gpadmin-[CRITICAL]:-gpstart failed. (Reason=''NoneType' object has no attribute 'valid'') exiting
官网也没有提供segment删除的说明,求大神帮忙

SQL 数据库
分享到
取消 提交回答
全部回答(3)
  • coding小哥
    2019-07-17 21:29:11

    今天刚解决了这个问题,为了前赴后继的小伙伴们,这里贴一下解决方案:
    在gp_segment_configuration信息表中的content字段必须是连续的,可能你在删除segment信息的时候删除了一个中间的segment,导致content不连续,所以gpadmin在start集群时获取segment的配置信息并初始化segment时出现了空segment的情况(这个你可以在gpstart脚本中打印self.gparray看看),导致启动失败!
    segment的初始化逻辑位于$GP_HOME/lib/python/gppylib/gparray.py中__15240490094194

    1 0
  • 康贤
    2019-07-17 21:29:11

    太冒险了,不建议删除节点,如果想减少节点,新建一个集群吧,导出再导入,使用GP自带的gptransfer命令

    0 0
  • 闻术苑
    2019-07-17 21:29:11

    官方没有提供删除方法,不支持也不建议删除节点。网上有朋友分享而且也做成功了,参考:http://blog.csdn.net/u011478909/article/details/52692280,看一下中间步骤有没有什么问题,如果还有问题可以继续交流。

    0 0
添加回答
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题