ITPub博客

首页 > 数据库 > SQL on Hadoop > EsgynDB对大数据集加载或创建索引提示:... a scratch file with error

EsgynDB对大数据集加载或创建索引提示:... a scratch file with error

原创 SQL on Hadoop 作者:joshliu 时间:2020-10-19 16:52:08 0 删除 编辑

【问题描述】

        EsgynDB(Trafodion)数据库中执行大数据集的加载或基于大数据集创建索引等情景下,报以下错误:

*** ERROR[10007] Sort failed while writing to a scratch file with error 28. Details: SQScratchFile::executeVectorIO

【问题原因】

         在执行大数据集的加载时,数据在加载到目标表前经常需要先进行排序,排序需要把中间结果写到一个临时的scratch file文件,scratch file的路径一般在数据库安装的时候指定,默认路径为MYSQROOT/tmp;

         如果数据集很大,默认的MY_SQROOT/tmp空间可能不足,就会报以上错误提示,此时需要修改scratch file文件路径;     

【问题解决】

         以下/data1,/data2,/data3为不同的数据磁盘,每块磁盘下面均有/tmp目录,且属主为trafodion:trafodion;

         session级别:设置cqd保证目前执行加载或者索引的会话指定一个临时的排序目录;

cqd scratch_dirs '/data1/tmp:/data2/tmp/:data3/tmp';

         数据库级别:修改集群中每个节点的ms.env文件配置,重启数据库,永久生效;

# su – trafodion
$ cd $MY_SQROOT/etc
$ vi ms.env  
-- 修改 STFS_HDD_LOCATION=$MY_SQROOT/tmp 为STFS_HDD_LOCATION=/data1/tmp:/data2/tmp/:data3/tmp
-- 同步ms.env到每个节点,pdcp $MY_NODES ms.env $PWD/
-- 重启数据库,sqstop; sqstart





来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69985104/viewspace-2727920/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-10-09

  • 博文量
    78
  • 访问量
    74237