gpfdist ERROR 404 permission denied
使用背景
使用 gpfdist 协议外部表进行卸数。
使用逻辑
通过在 gpfdist server 上面创建 writable external table,通过 insert into <ext_table_name> select * from … 来将符合条件的数据导出,从而达到卸数的目的。
报错截图
报错分析
从报错截图结合使用逻辑分析,需要在 gpfdist server 上面使用 dip 用户在目录 /home … /20210430/ 目录下创建外部表文件,并写入数据。
报 404 file open failure 是报错原因,打开文件失败。permission denied 则是打开文件失败的原因。
排查思路
通过报错分析,需要做以下验证。
- 使用 dip 用户在 /home … /20210430/ 目录下 touch 一个文件。
果然在验证失败,并且会抛出 permission denied 的错误。那么结果很明显了。gpfdist server 启动用户并没有在 /home … /20210430/ 目录下创建文件的权限。
解决方案
修改目录权限
chmod -R 777 /home/ap/cfs1/file/output/TU/000000000
使用建议: 在使用 gpfdist 协议外部表的时候,用 gpfdist server 启动用户创建对应的数据目录,日志目录。