隨筆-95  評論-31  文章-10  trackbacks-0
          問題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下面
          posted on 2016-12-09 13:42 朔望魔刃 閱讀(597) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 米林县| 衡南县| 普安县| 都匀市| 东光县| 马关县| 瓮安县| 盐源县| 新乡县| 嵊泗县| 克东县| 手游| 庆城县| 临潭县| 建宁县| 陵川县| 丹巴县| 广平县| 理塘县| 湟源县| 南平市| 梁平县| 旅游| 嘉禾县| 太原市| 临颍县| 叙永县| 观塘区| 青龙| 互助| 且末县| 科尔| 留坝县| 靖远县| 布尔津县| 吕梁市| 阿瓦提县| 南溪县| 绍兴市| 东乡族自治县| 启东市|