更新时间:2024-10-11 GMT+08:00

HUE界面的Sqoop任务HBase到HDFS报错

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

用户问题

利用HUE的sqoop操作把HBase中的数据导入HDFS中报错。

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

问题现象

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

原因分析

推测jar包冲突或者缺少jar包造成的。

处理步骤

  1. 去sqoop的lib下grep。

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

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

    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的lib下grep。

    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任务即可。