问题导读
1.如何导入到sqoop到eclipse中?
2.如何进行java进程调试?
a、导入到sqoop到eclipse中:下载sqoop 1.3的tar包解压,我们打开build.xml,发现<target name="eclipse" description="Generate Eclipse project">的target,我们只需要执行,ant eclipse,就可以ant脚本就可以给我们生成eclipse的工程文件,我们只需要在eclipse中导入即可。
b、调试sqoop:由于sqoop bin文件夹中的脚本,sqoop来启动java进程,java进程是sqoop脚本的子进程,sqoop脚本中配置了的许多环境变量需要传到sqoop程序中,所以直接,在eclipse中main函数执行,不能执行,所以需要远程调试java进程。
c、如何进行java进程调试:打开bin\sqoop,最后一行,发现,
exec ${HADOOP_HOME}/bin/hadoop com.cloudera.sqoop.Sqoop "$@",执行这句话,说明执行的hadoop脚本,要想进行远程调试,我们需要在hadoop脚本中加入,我们调试参数,我是这样加的,在hadoop脚本中加入,
HADOOP_DEBUG="-Xdebug -Xrunjdwp:transport=dt_socket,address=9991,server=y,su spend=y",然后在后面的脚本中加入这个选项就行,这样就能远程调试了。
例如,我执行./sqoop import --connect jdbc:mysql://localhost/TEST --username root --password root --table STUDENT,功能把student表中的数据导入到hdfs上,加入调试选项后,进程就会停下来,我们只需要eclipse进行远程调试,就像我们本地代码是一样的,可以打断点,可以看变量的值,很方便,具体eclipse 远程调试可以参照,http://www.ibm.com/developerwork ... -eclipse-javadebug/,即可。接下就可以学习其源码了。
|
|