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的方式进行更快速的高效同步。本文介绍与此有关的内容。

GBase 8a采用sudo安装时出现输入密码等待300秒超时现象的原因

GBase 8a支持sudo安装,但现有版本不支持在执行sudo命令时输入密码,否则操作系统在等待密码输入[sudo] password for gbase的信息,而安装程序在等待命令返回,直到300秒的超时时间到了报错。现有解决方案是调整操作系统sudo策略,让gbase用户执行sudo时无需输入密码,包括第一次运行sudo。

GBase 8a通过Rsync快速删除加载日志loader_logs下的大量目录和文件的方法

GBase 8a通过LOAD方式加载时,如果有报错或者加载错误数据,会将加载日志和数据记录到连接节点的load_logs目录下。因为是用户数据,当前版本尚没有配置自动删除功能,而是建议用户在LOAD语句里将错误数据导出到用户自己指定的ftp/sftp目标服务器,自行管理。本文介绍在默认情况下,如何通过rsync命令快速清理这些日志。