集群:centos7 + HA集群
開發環境:win7 IDEA
問題:在win7上開發,任務在hadoop集群上運行,當遠程程序執行出錯,需要排錯,總結主要有兩種方式:
1、查看日志
可通過webui查看各節點日志
自己寫一個工具庫,通過nc把日志發送同一個終端查看
2、設置java的運行方式,通過idea進行遠程調試
過程
1、生成mr作業jar包,導出並傳到集群,如家目錄
這些包是內置的,不需要導出到jar文件中
查看生成的jar包位置
通過winscp將該jinjie.jar文件,拖到s101家目錄
2、將測試文件,上傳到hdfs
hdfs dfs -put ttt.dat /
3、修改/soft/hadoop/bin/hadoop腳本
在首行添加
export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8888"
注意:1、使用雙引號
2、調試完畢,必須刪除或注釋掉,否則以后涉及job任務都會阻塞,啟動hive時也會阻塞
4、啟動mr作業
找到入口類
jar -tf jinjie.jar //列出該jar包中的所有類的全路徑名
啟動
hadoop jar jinjie.jar k_hadoop.mydebug.App /ttt.dat /out
5、在idea中配置
進入編輯配置
選擇遠程
命名、改主機名、端口
6、開始調試
臨時目錄 /tmp/hadoop-yarn/staging/centos/.staging/job_1537875597065_0001 中文件:
job.jar
job.split
job.splitmetainfo
job.xml
7、刪除hadoop腳本中的調試設置