ended up putting the bdb library with the hadoop library, works fine now.
cp /usr/local/BerkeleyDB.4.5/lib/libdb_java-4.5.so
/opt/hadoop-0.17.0/lib/native/Linux-i386-32/
its probably supposed to be done with a java
-Djava.library.path=/usr/local/BerkeleyDB.4.5/lib/ somehow passed
through hadoop
Elia Mazzawi wrote:
> also i have that directory in ld.so.conf
>
> [root@hd1 bin]# cat /etc/ld.so.conf
> include ld.so.conf.d/*.conf
> /usr/local/BerkeleyDB.4.5/lib/:
> [root@hd1 bin]# ldconfig
> [root@hd1 bin]#
>
>
> Elia Mazzawi wrote:
>> Hello,
>> I'm trying to get Berkeley database to work with hadoop, has anyone
>> done this before,
>>
>> i installed Berkeley on every node, using ./configure --enable-java
>> then when compiling my jar files i used
>> javac -classpath
>> ./:/opt/hadoop-0.17.0/hadoop-0.17.0-core.jar:/usr/local/BerkeleyDB.4.5/lib/
>>
>>
>> i think the libraries are there because these files are on every node.
>> [root@hd1 java]# locate db_java-4.5
>> /usr/local/BerkeleyDB.4.5/lib/libdb_java-4.5.a
>> /usr/local/BerkeleyDB.4.5/lib/libdb_java-4.5.la
>> /usr/local/BerkeleyDB.4.5/lib/libdb_java-4.5.so
>> /usr/local/BerkeleyDB.4.5/lib/libdb_java-4.5_g.so
>>
>> yet i get this exception when i run the program:
>>
>> 08/08/25 16:09:31 INFO mapred.JobClient: Task Id :
>> task_200808221756_0002_m_000001_2, Status : FAILED
>> java.lang.UnsatisfiedLinkError: no db_java-4.5 in java.library.path
>> at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
>> at java.lang.Runtime.loadLibrary0(Runtime.java:822)
>> at java.lang.System.loadLibrary(System.java:993)
>> at
>> com.sleepycat.db.internal.db_javaJNI.<clinit>(db_javaJNI.java:49)
>> at com.sleepycat.db.internal.Db.<init>(Db.java:236)
>> at
>> com.sleepycat.db.DatabaseConfig.createDatabase(DatabaseConfig.java:468)
>> at
>> com.sleepycat.db.DatabaseConfig.openDatabase(DatabaseConfig.java:478)
>> at com.sleepycat.db.Database.<init>(Database.java:39)
>>
>
|