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目录
问题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下面
大数据时代,Hadoop培训、大数据培训、培训班,就选光环大数据!
大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服!