使用STD.File.RemoteDirectory无法获取Unix落地区文件列表求助
解决HPCC Thor读取Unix落地区文件列表的配置步骤
1. 确认dafilesrv配置文件有效性
- 编辑Unix机器上的
dafilesrv.cfg(默认路径/opt/HPCCSystems/etc/),检查关键配置:port=7100:需与HPCC调用时指定的端口完全一致allowhosts=:添加HPCC Thor集群所有节点的IP,测试环境可临时设为*(生产环境禁用)rootdir=:设置HPCC允许访问的根目录范围,需包含你要读取的<file path>,确保dafilesrv有权限访问该目录
2. 验证dafilesrv运行状态与目录权限
- 在Unix机器执行
ps aux | grep dafilesrv,确认进程正常运行 - 检查目标目录
<file path>权限:dafilesrv运行用户(通常为hpcc)需拥有该目录的读权限和执行权限(用于遍历目录) - 在HPCC节点执行
telnet XX.XXX.XX.XX 7100,验证网络连通性
3. 检查HPCC集群远程文件服务配置
- 打开HPCC的
environment.xml,确认远程文件服务已启用:<dafilesrv> <enabled>true</enabled> </dafilesrv> - 重启HPCC的dfucontroller服务,确保配置生效
4. 修正ECL命令路径参数
- 确保
<file path>是Unix机器上的绝对路径(如/data/csv_data/),禁止使用相对路径 - 若路径含特殊字符(如空格),需用引号包裹或转义
- 测试时可先改用
*代替*.csv,确认能返回文件列表后再缩小匹配范围
5. 通过日志排查细节问题
- 查看Unix机器上的
dafilesrv.log(默认路径/var/log/HPCCSystems/),检查是否存在访问拒绝、路径不存在等报错 - 查看HPCC集群的dfucontroller日志,定位远程目录请求的具体错误信息
内容的提问来源于stack exchange,提问作者Akhilesh Badhri
相关产品推荐
相关产品推荐

