常见问题排查
本文介绍使用文件存储HDFS SDK时遇到的常见问题及排查方法。
提示“No FileSystem for scheme: dfs”信息
执行hadoop命令行或者任务失败,提示“No FileSystem for scheme: dfs”信息时,请按如下步骤进行排查:
- 确认aliyun-sdk-dfs-x.x.x.jar包已经放置在所有hadoop节点的hadoop环境下的classpath中。hadoop环境的classpath可以通过hadoop classpath命令查询。
$HADOOP_HOME/bin/hadoop classpath
- 确认执行作业的用户对jar包有可读权限。
- 如果hadoop fs命令可以成功运行,但是无法执行分析任务,请确认yarn等任务执行框架在配置完文件存储HDFS的SDK后进行了重启。使用yarn的环境时需要执行以下命令:
$HADOOP_HOME/sbin/stop-yarn.sh $HADOOP_HOME/sbin/start-yarn.sh
提示“java.lang.NoClassDefFoundError”信息
执行hadoop命令行或者任务失败,提示"java.lang.NoClassDefFoundError"信息时,请按如下步骤进行排查:
- 根据提示的类的路径确认该缺少的类是否是com.alibaba.dfs相关的类。
- 如果缺少的类是com.alibaba.dfs相关的类,请参考“No FileSystem for scheme: dfs”信息的处理办法。
- 如果与com.alibaba.dfs无关,则说明hadoop的运行环境中缺少依赖的类,需要用户根据提示的错误名下载相应的jar包并放置到hadoop运行环境的classpath中。hadoop环境的classpath可以通过
$HADOOP_HOME/bin/hadoop classpath
命令查询。例如hadoop命令行或者任务出现如下错误时,表明org/apache/hadoop/fs/PathFilter
相关的类未在hadoop的运行环境中,该类所属的jar包为hadoop-common-x.x.x.jar
,需要用户下载该jar包的正确版本,并将其置于所有hadoop节点的hadoop运行环境的classpath中。Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/PathFilter
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论