行业报告 AI展会 数据标注 标注供求
数据标注数据集
主页 > 数据挖掘 正文

Hadoop oozie sqoop --奇葩问题汇总

问题1:sqoop修改源码编译打包后如何配合oozie使用?

oozie需要依次执行:

$OOZIE_HOME/bin/oozie.setup.sh prepare-war

$OOZIE_HOME/bin/oozie.setup.sh sharelib create -fs hdfs://xxxx:9000

其中第二步是将$OOZIE_HOME/里的oozie-sharelib-4.2.0.tar.gz包含的jar上传到HDFS目录里,而不是lib和libext里面的jar,所以sqoop编译打包后需要把sqoop-1.4.6-xxx.jar放进oozie-sharelib-4.2.0.tar.gz压缩包里,并去掉里面自带的sqoop jar

那么调用oozie的时候,触发sqoop就是你修改了源码的jar。如图hdfs目录

 

Hadoop

 

问题2: oozie调度sqoop的时候,总提示NoClassDefoundxxxx异常?

需要把相关jar放进$HADOOP_HOME/share/hadoop/下面的目录里面,而不是放进oozie的lib目录里

问题3:如何远程调试?

若发现有oozie调度sqoop有问题,最好直接运行sqoop命令来进行调试,这样才能debug进sqoop代码里面,更直观

调试命令:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

把上面命令加进 $HADOOP_HOME/bin/hadoop里面

示例: HADOOP_DEBUG=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005

HADOOP_OPTS="$HADOOP_OPTS $HADOOP_DEBUG"

suspend=y意思是jvm一启动就等待远程debug连接。

综上所述:不管oozie还是sqoop都是通过hadoop来运行,所以若有什么问题,在$HADOOP_HOME/logs/userlogs目录下查找log进行问题定位,并且依赖什么的都最好放在$HADOOP_CLASSPATH下面

微信公众号

声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
最新文章
SEM推广服务
热门文章
热点图文

Copyright©2005-2028 Sykv.com 可思数据 版权所有    京ICP备14056871号

关于我们   免责声明   广告合作   版权声明   联系我们   原创投稿   网站地图  

可思数据 数据标注

扫码入群
扫码关注

微信公众号

返回顶部