2013-07-03 33 views
1

我試圖讓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

任何人都可以建議,給我意見什麼可能在這裏做錯了嗎?

回答

4

添加以下行來/etc/profile.bashrc

export JAVA_LIBRARY_PATH=/usr/local/lib 

刷新/etc/profile.bashrc

相關問題