如何在eclipse上調試hadoop的筆記

來源:互聯網
上載者:User

 

配置debug1
進入hadoop/bin下面的hadoop-debug

……

elif [ "$COMMAND" = "tasktracker" ] ; then

CLASS=org.apache.hadoop.mapred.TaskTracker

HADOOP_OPTS="$HADOOP_OPTS $HADOOP_TASKTRACKER_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9005"

……

進入mapred-site.xml

<property>

<name>mapred.map.child.java.opts</name>

<value>-Xmx2000m -agentlib:jdwp=transport=dt_socket,address=9010,server=y,suspend=y</value>

</property>

啟動hadoop-debugeclipse,進入run as debug 的配置我的mapreduce項目注意:*建立mapreduce工程,替換hadoop-core.jar*設定mapreduce連接埠*建立參數路徑,設定輸入參數

步奏

修改mapred-site.xml檔案,添加如下配置:

Xml代碼

<property>  

  <name>mapred.child.java.opts</name>  

  <value>-agentlib:jdwp=transport=dt_socket,address=8883,server=y,suspend=y</value>  

</property>  

關閉所有的tasktracker,只保留上面配置的一台需要調試的tasktracker

啟動Mapreduce job

右鍵hadoop src項目,右鍵“Debug As”,選擇“Debug Configurations”,選擇“Remote Java Application”,添加一個新的測試,輸入遠程host ip和監聽連接埠,上例為8883,然後點擊“Debug”按鈕。此時應該串連到遠程tasktracker child進程,並進入斷點位置,可以單步調試了。

Eclipse 串連通訊端模式下的 VM 調用樣本

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address="8000" -jar test.jar 

使用遠程啟動配置啟動 Eclipse,並指定遠程應用程式的目標 VM 地址。為此,單擊 Run > Debug Configurations,然後在 Eclipse 菜單中雙擊 Remote Java Application。從最新建立的啟動配置中為目標應用程式指定 IP 和連接埠。為了在同一台機器上運行遠程應用程式,僅需將主機 IP 指定為 localhost 或 127.0.0.1。

問題1:windows hadoop HDFS Failed to set permissions of path?

答:

把 項目引用的 hadoop-core-1.0.2.jar  換成 hadoop-core-0.20.2.jar,了事。

或者下載修改的jar包

https://skydrive.live.com/?cid=cf7746837803bc50&id=CF7746837803BC50%211276&authkey=!AJCcrNRX9RCF6FA

自己把hadoop原始碼中的org.apache.hadoop.fs.FileUtil放到項目中去,自己修改FileUtil.checkReturnValue,使得在WIndows下不報出這個異常。

或者乾脆自己重新編譯hadoop的jar。

問題2:hadoop:Input path does not exist異常?

答:

http://blog.csdn.net/longzaitianguo/article/details/6773468

是因為本地的input目錄並沒有上傳到HDFS上,所出現 org.apache.hadoop.mapred.InvalidInputException: 

Input path does not exist: hdfs://localhost:9000/user/root/input

解決方案,在eclipse下面建輸入目錄,配置到程式輸入參數中即可。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.