oozie で Hiveアクションが動かずハマる

新しくworkflow を作ったら、Hiveアクションがいきなりコケる。

Hive history file=/tmp/mapred/hive_job_log_mapred_201203221523_1761181788.txt
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.HiveMain], main() threw exception, org.apache.hadoop.security.UserGroupInformation: method ()V not found
java.lang.NoSuchMethodError: org.apache.hadoop.security.UserGroupInformation: method ()V not found
at org.apache.hadoop.security.UnixUserGroupInformation.(UnixUserGroupInformation.java:81)
at org.apache.hadoop.security.UnixUserGroupInformation.readFromConf(UnixUserGroupInformation.java:216)
・・・

半日はまった挙句、Hiveアクションの次に実行するために仕込んでおいた自作のJarの問題だったことが判明。

Hiveアクションの次にJavaアクション(CascadingのMap/Reduce)を実行するので、[workflowディレクトリ]/lib に自作アプリのjarを置いていたのだが、そのアプリが cascading のライブラリに依存しているので、アプリjarに抽出(ライブラリのjarを解凍→アプリjarに同梱)していた。この時、開発時に使用していた古いHadoopのjarも同梱されてしまい、hive がこっちを使ってしまってエラーになった模様。