CDH 基于Hue的Sqoop自动化ETL任务

文章目录

  • 前言
  • 1 配置HDFS的权限
    • 1.1 Master添加supergroup组
  • 2 上传驱动到HDFS
  • 3 Hue配置驱动
    • 3.1 在Hue进入Sqoop
    • 3.2 配置驱动

前言

首先需要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的权限

CDH 基于Hue的Sqoop自动化ETL任务_第1张图片
看到HDFS属于supergroup任务组

1.1 Master添加supergroup组

首先到Master中查看

cat /etc/group

发现没有supergroup任务组 看下HDFS属于哪个组

cat /etc/passwd
#属于Hadoop组

CDH 基于Hue的Sqoop自动化ETL任务_第2张图片

添加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

CDH 基于Hue的Sqoop自动化ETL任务_第3张图片

3.2 配置驱动

CDH 基于Hue的Sqoop自动化ETL任务_第4张图片
这里配置的地址要和步骤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 /

你可能感兴趣的:(CDH)