南大通用GBase 8a在硬件原因导致主副本都损坏用户允许数据部分丢失时的处理方案

南大通用GBase 8a是将数据分散到多台服务器来实现MPP架构,每个分片数据通过副本来保证高可用,最高允许2个副本。如果因意外,比如多台服务器RAID卡故障,服务器损毁等肯定无法恢复数据的情况,导致分片所在的所有主副本都不可用,此时虽然其它没有损坏的服务器数据是正常的,但在集群层因部分分片数据丢失而无法查询(完整性)。 如果用户允许这部分无法恢复的数据丢失,其它数据希望能继续查询,新服务器能替换现有故障节点,新的表能继续提供正常服务时,本文提供了一个处理方案。

Linux 获得脚本shell所在当前目录的方法

在linuix的Shell里运行,如果涉及到文件操作,必然要考虑当前目录是哪里? 因为不能保证用户一定在脚本所在的目录下运行。一个方案是将当前目录切换到脚本目录,另一个方案是脚本里获得脚本所在目录,然后使用绝对目录。无论哪种,都需要获得脚本所在的目录。本文介绍网上使用最多的一个方案。

南大通用GBase 扩容操作重分布完成后清理旧的distribution时报错FCan not drop nodedatamap EventLog is using distribution

南大通用GBase 8a在扩容操作中,当所有表已经全部重分布到新的分布策略distribution以后,老的distribution就可以用refreshnodedatamap drop删除了。 但如果此时有些表存在event,且使用的老的策略,则会出现这个错误:Can not drop nodedatamap EventLog is using distribution。此时需要将原有的event处理完成才可以继续操作。

南大通用GBase 8a里通过rsync加速调度coor节点的扩容和替换效率

在GBase 8a的早期版本里,扩容或者节点替换调度节点(coordinator)时,是通过本地tar打包,然后scp传输到新节点来实现的,而tar本身不支持并行,所以代码上是将打包任务按表名字分解成多个任务,发到多个调度节点执行(并行打包)。新版本支持通过rsync的方式进行更快速的高效同步。本文介绍与此有关的内容。