我试图让jzmq代码在hadoop集群上的一个节点上工作。我在该节点的-/usr/local/lib目录下安装了必要的本机jmzq库文件。
以下是列表-libjzmq.a libjzmq.la libjzmq.so libjzmq.so.0 libjzmq.so.0.0 libzmq.a libzmq.la libzmq.so libzmq.so.3 libzmq.so.3.0.0 pkgconfig
在我的shell脚本中,如果我运行下面的java命令,它运行得非常好-
java -Djava.library.path=/usr/local/lib -classpath class/:lib/:lib/jzmq-2.1.3.jar bigdat.twitter.queue.TweetOMQSub
但是当我运行下面的命令时,它在线程“main”中抛出异常
java.lang.UnsatisfiedLinkError: no jzmq in java.library.path
hadoop jar $jarpath bigdat.twitter.queue.TweetOMQSub
我使用export命令在hadoop类路径、opts等中显式地设置了必要的文件/jar
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/lib/"
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/home/txtUser/analytics/lib/*
export JAVA_LIBRARY_PATH=$JAVA_LIBRARY_PATH:/usr/lib/hadoop/lib/native/:/usr/local/lib/
源代码jar和jzmq-2.1.3.jar文件位于hadoop节点的/home/txtaser/analytics/lib/文件夹下。此外,还将/usr/local/lib添加到系统ld.conf中
有人能提出建议吗,我在这里可能做错了什么?
1条答案
按热度按时间slwdgvem1#
将以下行添加到
/etc/profile
或者.bashrc
:重新加载
/etc/profile
或者.bashrc
.