我試圖讓JZMQ代碼在Hadoop集羣上的其中一個節點上工作。我在該節點上的 -/usr/local/lib目錄下安裝了必要的本地jmzq庫文件。Hadoop和JZMQ - java.library.path中沒有jzmq
這裏的列表 - libjzmq.a libjzmq.la libjzmq.so libjzmq.so.0 libjzmq.so.0.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
但是當我運行下面的命令,它在線程拋出異常「主」
java.lang.UnsatisfiedLinkError: no jzmq in java.library.path
hadoop jar $jarpath bigdat.twitter.queue.TweetOMQSub
I顯式地設置必要的文件/ Hadoop中類路徑,OPTS等罐,使用導出命令
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文件存在在/ home/txtUser /分析/ LIB /文件夾在Hadoop節點上。 此外,/ usr/local/lib被添加到系統ld.conf
任何人都可以建議,給我意見什麼可能在這裏做錯了嗎?