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包造成的。
处理步骤
- 去sqoop的lib下grep。
- 进入sqoop的lib目录下,进行grep查找。
- 进入yarn原生界面,查看运行的任务的报错具体信息。
- 将java.class.path复制出来,搜索htrace-core。
- 复制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/
- 修改权限。
chmod 777 htrace-core-3.1.0-incubating.jar (真实复制的jar包)
chown omm:ficommon htrace-core-3.1.0-incubating.jar (真实复制的jar包)
- 查看hosts文件,对其他所有节点进行同样的复制jar包操作。
- 重新运行sqoop任务,产生报错如下:
- 去hbase的lib下grep。
- 进入hbase的lib目录下,进行grep查找。
- 继续复制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/
- 修改文件权限。
chmod 777 metrics-core-2.2.0.jar (真实复制的jar包)
chown omm:ficommon metrics-core-2.2.0.jar(真实复制的jar包)
- 查看hosts文件,对其他所有节点进行同样的复制jar包操作。
- 继续运行sqoop任务,成功。
处理总结
- 将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/下。
- 修改jar包的文件权限为777 和 omm:ficommon。
- 所有节点均采取以上操作,重新运行sqoop任务即可。