前言
首先需要CDH集群
本次演示的CDH:6.3.1
自行安装Oozie 、Hue、Sqoop1
Oozie 自带 sqoop、hive 等常用组件,比如执行sqoop脚本命令时,并不是你主机里或者CDH里的的sqoop,而是 HDFS 下 Oozie 里的 sqoop 在起作用,这也是为什么 总是报 Could not load db driver class 的原因了,因为根本不是同一个sqoop
1 配置HDFS的权限
看到HDFS属于supergroup任务组
1.1 Master添加supergroup组
首先到Master中查看
cat /etc/group
发现没有supergroup任务组 看下HDFS属于哪个组
cat /etc/passwd
#属于Hadoop组
添加supergroup组
# supergroup:x:1003:
groupadd supergroup
将root添加到supergroup
# supergroup:x:1003:root
usermod -a -G supergroup root
同步系统权限到HDFS,会自动同步其他节点的权限
su - hdfs -s /bin/bash -c "hdfs dfsadmin -refreshUserToGroupsMappings"
2 上传驱动到HDFS
CDH集群下基于hue的sqoop的驱动位置
/user/oozie/share/lib/lib_${timestamp}/sqoop
上传驱动
# hdfs dfs -put ./mysql-connector-java-5.1.47.jar /user/oozie/share/lib/lib_20200601145108/sqoop
3 Hue配置驱动
3.1 在Hue进入Sqoop
3.2 配置驱动
这里配置的地址要和步骤2中的地址一致
hdfs://ifeng01:8020/user/oozie/share/lib/lib_20200601145108/sqoop
hdfs://ifeng01:8020/user/oozie/share/lib/lib_20200601145108/sqoop/mysql-connector-java-5.1.47-bin.jar
hdfs://ifeng01:8020/user/oozie/share/lib/lib_20200601145108/sqoop/mysql-connector-java-5.1.47.jar
注意:HDFS的权限问题也有可能导致导入失败
hadoop dfs -chmod -R 777 /