搭建sqoop的eclipse調試環境
來源:互聯網
上載者:User
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/developerworks/cn/opensource/os-eclipse-javadebug/,即可。接下就可以學習其源碼了。