1. 程式人生 > 實用技巧 >oozie安裝 及 解決Error: E0902 錯誤

oozie安裝 及 解決Error: E0902 錯誤

公司裡負責的系統一直用oozie做排程, 之前這個oozie是由hadoop運維小組搭建的,近期他們工作調整, 不再維護這個oozie了, 於是我就決定自己去研究下,首先就安裝oozie
安裝的oozie版本為 oozie-2.3.2-cdh3u3, 可以在https://ccp.cloudera.com/display/SUPPORT/CDH3+Downloadable+Tarballs下載
安裝文件看這裡
https://ccp.cloudera.com/display/CDHDOC/Oozie+Installation
oozie的安裝還是挺簡單的, 根據安裝文件一步步來就可以了.
我在linux 系統上建立了 oozie組和oozie使用者. 啟動,停止oozie就由oozie使用者去執行

另外還建立了 cug_p_sdo_data 組和 p_sdo_data_01 使用者, 這個使用者是用來提交oozie作業的
oozie安裝完成就來執行下examples試試, 用p_sdo_data_01賬戶登入系統,提交oozie作業:

  1. [[email protected]~]$ooziejob-ooziehttp://192.168.237.128:11000/oozie-config/opt/app/oozie-2.3.2-cdh3u3/examples/apps/map-reduce/job.properties-run

提交不成功, 出現如下異常:

  1. Error:E0902:E0902:Exceptionoccured:[org.apache.hadoop.ipc.RemoteException:User:oozieisnotallowedtoimpersonatep_sdo_data_01]

這裡補充下, 我的oozie的examples在hdfs放置路徑是:

  1. [[email protected]~]$hadoopfs-ls/group/p_sdo_data/oozie
  2. Found2items
  3. drwxr-xr-x-p_sdo_data_01cug_p_sdo_data02012-02-2605:10/group/p_sdo_data/oozie/examples
  4. drwxr-xr-x-p_sdo_data_01cug_p_sdo_data02012-02-2504:48/group/p_sdo_data/oozie/share
  5. [[email protected]~]$

上面的異常資訊大概就是說oozie使用者不允許仿冒p_sdo_data_01使用者.

遂上google搜尋一把,確實有很多該異常資訊
http://mail-archives.apache.org/mod_mbox/incubator-oozie-users/201111.mbox/%[email protected].com%3E

文中都提到需要在 hadoop配置中增加如下配置項

  1. <property>
  2. <name>hadoop.proxyuser.***.hosts</name>
  3. <value>***</value>
  4. </property>
  5. <property>
  6. <name>hadoop.proxyuser.***.groups</name>
  7. <value>***</value>
  8. </property>

OK, 那就增加試試, 根據我的實際情況,在hadoop的core-site.xml中增加如下配置:

  1. <property>
  2. <name>hadoop.proxyuser.oozie.hosts</name>
  3. <value>192.168.237.128</value>
  4. </property>
  5. <property>
  6. <name>hadoop.proxyuser.oozie.groups</name>
  7. <value>cug_p_sdo_data</value>
  8. </property>

需要特別注意: 我是用oozie賬戶啟動oozie的, 而oozie作業是用p_sdo_data_01使用者提交的(p_sdo_data_01使用者的組是 cug_p_sdo_data), 故要把oozie使用者的組代理設定成p_sdo_data_01使用者的組cug_p_sdo_data, 這樣oozie才有許可權執行p_sdo_data_01提交的作業.

增加配置後重新啟動hadoop. 用p_sdo_data_01使用者提交作業試試

  1. [[email protected]~]$ooziejob-ooziehttp://192.168.237.128:11000/oozie-config/opt/app/oozie-2.3.2-cdh3u3/examples/apps/map-reduce/job.properties-run
  2. job:0000001-120226054133632-oozie-oozi-W

OK, 這次沒有異常了,看下oozie web介面:http://192.168.237.128:11000/oozie/

作業成功執行.
安裝過程中最大的體會就是許可權問題^_^

轉載於:https://blog.51cto.com/yaoyinjie/790333