Hadoop JAR命令 - 设置java.library.path

时间:2013-07-01 16:46:08

标签: hadoop classpath

我正在尝试在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 native命令,它可以正常工作。另外,我试图测试它的hadoop节点,在/ usr / local / lib目录下有必要的jzmq jar。有没有办法我可以将java.library.path设置为Hadoop JAR命令。 请建议我该如何解决这个问题。

2 个答案:

答案 0 :(得分:1)

抱歉误读了你的问题所以编辑:

您应该可以使用libjars选项

在你的情况下:

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

hadoop jar $jarpath bigdat.twitter.queue.TweetOMQSub -libjars /usr/local/lib ...

答案 1 :(得分:1)

尝试export HADOOP_OPTS=$HADOOP_OPTS -Djava.library.path=/usr/local/lib

并在运行作业之前以通常的方式导出其他罐子 - 使用HADOOP_CLASSPATH

希望这有帮助。