CDH3 から CDH4 に移行しており、この移行の一環として、CDH3 にあるすべてのジョブを移動しています。これには重大な問題が 1 つあります。ワークフローが oozie を介して実行され、内部でハイブ クエリ (hive -e {query}) を呼び出す python スクリプトを実行すると、このハイブ クエリで add を使用してカスタム jar を追加します。 jar {LOCAL PATH FOR JAR}、およびカスタム udf の一時関数を作成しました。そして、ここまでは大丈夫のようです。しかし、クエリがカスタム udf 機能で実行を開始すると、分散キャッシュで失敗し、ローカル パスではなく HDFS パスで jar を探しているファイルが見つからないという例外が発生します。
ここで設定が欠落しているかどうかはわかりません。
例外トレース:
警告: org.apache.hadoop.metrics.jvm.EventCounter は非推奨です。すべての log4j.properties ファイルで org.apache.hadoop.log.metrics.EventCounter を使用してください。実行ログ: /tmp/yarn/yarn_20131107020505_79b41443-b9f4-4d36-a0eb-4f0d79cd3ce9.log java.io.FileNotFoundException: ファイルが存在しません: hdfs://aa.bb.com:8020/opt/nfsmount/mypath/custom org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:824) の .jar org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager.getFileStatus(ClientDistributedCacheManager.java:288) org.apache.hadoop.mapreduce org.apache.hadoop.mapreduce.filecache.ClientDistributedCacheManager の .filecache.ClientDistributedCacheManager.getFileStatus(ClientDistributedCacheManager.java:224)。
これに関するヘルプは大歓迎です。
よろしく、GHK。