我试图在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 jars。有没有办法将java.library.path设置为Hadoop命令。请建议我怎么解决这个问题。
发布于 2013-07-01 18:35:59
对不起,误解了你的问题,所以编辑:
您应该能够使用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-01 20:34:30
试试export HADOOP_OPTS=$HADOOP_OPTS -Djava.library.path=/usr/local/lib
并在运行作业之前使用HADOOP_CLASSPATH按通常的方式导出其他jars。
希望这能有所帮助。
https://stackoverflow.com/questions/17409606
复制相似问题