Hue + Oozie + Sqoop 使用

有个刚接触的人不知道的是,Oozie 自带 sqoop、hive 等常用组件,比如执行sqoop脚本命令时,并不是你主机里或者CDH里的的sqoop,而是 HDFS 下 Oozie 里的 sqoop 在起作用,这也是为什么 总是报 Could not load db driver class 的原因了,因为根本不是同一个sqoop。

还有 Hue 里的 Sqoop 1,你在这里写的脚本,执行时实际也是通过 Oozie 执行的。这也是为什么执行个简单的sqoop version 都会打印出八百多行的 log,没错的。仔细看日志,实际那都是 Oozie 输出的日志。
这里写图片描述

Could not load db driver class 

解决方法:
1、上传 Driver 到 hdfs 的目录 /user/oozie/share/lib/sqoop 下,如果是Cloudera and HDP,则是/user/oozie/share/lib/lib_${timestamp}/sqoop
oozie fails with Could not load db driver class: oracle.jdbc.OracleDriver

2、重启 oozie service,让其生效,然后再运行就 OK 了

问题2: Heart Beat 死锁问题
解决办法:修改下yarn.nodemanager.resource.memory-mbyarn.scheduler.minimum-allocation-mbyarn.scheduler.maximum-allocation-mb 这三个的设置就可以了。
关系是:memory-mb >= 2 * maximum-allocation-mb; 即:memory-mb 要大于等于 2倍的 maximum-allocation-mb 。这只是 -m = 1 的情况,要是 -m = n,那得 memory-mb >= 2 * n * maximum-allocation-mb

详细描述参考:Oozie 调度 Sqoop 从 Mysql 中导数据到 Hive 遇到的坑Oozie搭建常见问题

问题3: Hue 中的 Oozie 使用空格作为参数分割,如果要使用空格,请合理使用双引号和单引号,特别是 --query 后边的语句要注意空格的使用,如果出现不能识别的参数这种异常了,请检查 Oozie 生成的 workflow.xml 里的内容和格式,Hue 上的界面上写的参数都是为了生成 xml,最终运行都是 xml 。

问题4:oozie 调度 sqoop, --hive-import 不起作用,可以正常导入到 HDFS,但是并没有自动导入到 Hive 中
原因和解决:原因是没有配置<job-xml>,需要配置<job-xml>节点,在节点里配置hive-site.xml在hdfs上的位置(从Hive安装位置的配置文件里找到hive-site.xml,copy 一份上传的 hdfs 上)

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值