隨筆-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 朔望魔刃 閱讀(596) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 思南县| 土默特右旗| 乐山市| 山阴县| 敖汉旗| 宁国市| 桦甸市| 甘洛县| 阿瓦提县| 平邑县| 邹城市| 达孜县| 门头沟区| 鄂托克前旗| 涡阳县| 延寿县| 甘孜| 龙州县| 新建县| 皮山县| 鹤山市| 昌江| 光山县| 元阳县| 当涂县| 宾阳县| 新竹县| 富锦市| 玉山县| 石河子市| 靖江市| 灵台县| 新和县| 彩票| 云和县| 南阳市| 平阴县| 连城县| 梨树县| 永年县| 论坛|