文档首页/ MapReduce服务 MRS/ 故障排除/ 使用Sqoop/ 通过Hue创建Sqoop任务将数据从HBase导入HDFS时报错
更新时间:2023-11-10 GMT+08:00

通过Hue创建Sqoop任务将数据从HBase导入HDFS时报错

用户问题

利用Hue的Sqoop操作把HBase中的数据导入HDFS时报错:

Caused by: java.lang.ClassNotFoundException: org.apache.htrace.Trace

本章节仅适用于MRS 1.9.2版本集群。

问题现象

Sqoop任务运行成功,但HDFS中的CSV文件无内容。

原因分析

由于jar包冲突或者缺少相关jar包导致。

处理步骤

  1. 进入Sqoop的安装目录下查找文件。

    1. 进入Sqoop节点的“/opt/Bigdata/MRS_1.9.2/install/FusionInsight-Sqoop-1.99.7/FusionInsight-Sqoop-1.99.7/server/lib”目录下,进行grep查找。

    2. 进入Yarn WebUI界面,查看运行的任务的报错具体信息。

    3. 将java.class.path复制出来,搜索htrace-core。

    4. 复制jar包到如下位置。

      cp /opt/Bigdata/MRS_1.9.2/install/FusionInsight-Sqoop-1.99.7/FusionInsight-Sqoop-1.99.7/server/lib/htrace-core-3.1.0-incubating.jar /opt/Bigdata/MRS_1.9.2/install/FusionInsight-Hadoop-2.8.3/hadoop/share/hadoop/common/lib/

    5. 修改权限。

      chmod 777 htrace-core-3.1.0-incubating.jar (真实复制的jar包)

      chown omm:ficommon htrace-core-3.1.0-incubating.jar (真实复制的jar包)

    6. 查看hosts文件,对其他所有节点进行同样的复制jar包操作。

    7. 重新运行sqoop任务,产生报错如下:

  2. 去HBase的安装目录下查找文件。

    1. 进入HBase的lib目录下,进行grep查找。

    2. 继续复制jar包。

      cp /opt/Bigdata/MRS_1.9.2/install/FusionInsight-HBase-1.3.1/hbase/lib/metrics-core-2.2.0.jar /opt/Bigdata/MRS_1.9.2/install/FusionInsight-Hadoop-2.8.3/hadoop/share/hadoop/common/lib/

    3. 修改文件权限。

      chmod 777 metrics-core-2.2.0.jar (真实复制的jar包)

      chown omm:ficommon metrics-core-2.2.0.jar(真实复制的jar包)

    4. 查看hosts文件,对其他所有节点进行同样的复制jar包操作。
    5. 继续运行sqoop任务,成功。

处理总结

  1. 将sqoop的lib下htrace-core-3.1.0-incubating.jar和hbase的lib下的metrics-core-2.2.0.jar,复制到“/opt/Bigdata/MRS_1.9.2/install/FusionInsight-Hadoop-2.8.3/hadoop/share/hadoop/common/lib/”下。
  2. 修改jar包的文件权限为777和omm:ficommon。
  3. 所有节点均采取以上操作,重新运行sqoop任务即可。