隨筆-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 朔望魔刃 閱讀(601) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 沧州市| 日喀则市| 明溪县| 固安县| 怀仁县| 台北市| 阿勒泰市| 弋阳县| 吉木乃县| 孝昌县| 开江县| 平遥县| 沙河市| 永胜县| 桦甸市| 竹山县| 东乌珠穆沁旗| 肇东市| 江阴市| 柘荣县| 长乐市| 双峰县| 太康县| 寿光市| 绥化市| 蓬溪县| 来凤县| 永新县| 樟树市| 会泽县| 绍兴市| 丘北县| 宁津县| 门头沟区| 什邡市| 滦平县| 开鲁县| 沂水县| 郁南县| 略阳县| 洪洞县|