3

Hadoop クラスターで Java プログラムを実行しようとしています。ここにコマンドがあります-

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/usr/local/lib/*:/home/rgupta/bdAnalytics/lib/*
hadoop jar $jarpath bigdat.twitter.queue.TweetOMQSub >  $logsFldr/subsHdpOMQ_$1.log 2>&1 &
#java -Djava.library.path=/usr/local/lib -classpath  class/:lib/:lib/jzmq-2.1.3.jar  bigdat.twitter.queue.TweetOMQSub > log/subsFilterOMQ_$1.log 2>&1 &

これにより、次のエラーがスローされます-

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jzmq in java.library.path

上記の Java ネイティブ コマンドを使用すると、問題なく動作します。また、テストしようとしている Hadoop ノードには、/usr/local/lib ディレクトリの下に必要な jzmq jar があります。java.library.path を Hadoop JAR コマンドに設定する方法はありますか。これを修正する方法を提案してください。

4

2 に答える 2

1

申し訳ありませんが、あなたの質問を読み違えて編集してください:

libjarsオプションを使用できるはずです

あなたの場合:

HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/usr/local/lib/:/home/rgupta/bdAnalytics/lib/

hadoop jar $jarpath bigdat.twitter.queue.TweetOMQSub -libjars /usr/local/lib ...
于 2013-07-01T18:35:59.823 に答える
1

試すexport HADOOP_OPTS=$HADOOP_OPTS -Djava.library.path=/usr/local/lib

ジョブを実行する前に行っている通常の方法で、HADOOP_CLASSPATH を使用して他の jar をエクスポートします。

お役に立てれば。

于 2013-07-01T20:34:30.073 に答える