I am running a java program (not MR) via oozie. This is referring to some native libraries and I tried setting the following
<configuration>
<property>
<name>mapreduce.map.env</name>
<value>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/tableau/</value>
</property>
<property>
<name>mapreduce.child.env</name>
<value>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/tableau/</value>
</property>
<property>
<name>mapreduce.admin.user.env</name>
<value>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/tableau/</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/tableau/</value>
</property>
<property>
<name>mapred.child.java.opts</name>
<value>-Djava.library.path=/usr/lib/tableau/</value>
</property>
</configuration>
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/tableau/
Anyhow my program does not seem to read these path and I am getting the error
java.lang.UnsatisfiedLinkError: Unable to load library 'TableauHyperExtract': libTableauHyperExtract.so: cannot open shared object file: No such file or directory
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:194)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:283)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:244)
at com.sun.jna.Native.register(Native.java:1065)
at com.tableausoftware.hyperextract.ExtractAPI.<clinit>(Unknown Source)
I prefixed the properties with oozie.launcher as suggested by @SamsonScharfrichter and it works perfect.
<property>
<name>oozie.launcher.mapreduce.map.env</name>
<value>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/tableau/</value>
</property>