java - Oozie 设置 LD_LIBRARY_PATH

标签 java hadoop oozie oozie-workflow

我正在通过 oozie 运行一个 java 程序(不是 MR)。这是指一些 native 库,我尝试设置以下

    <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/

无论如何,我的程序似乎没有读取这些路径,我收到了错误
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)

最佳答案

我按照@SamsonScharfrichter 的建议为属性添加了 oozie.launcher 前缀,并且效果很好。

 <property>
   <name>oozie.launcher.mapreduce.map.env</name>
   <value>LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/tableau/</value>
</property>

关于java - Oozie 设置 LD_LIBRARY_PATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49329620/

相关文章:

java - 如何更改 JavaFX 中子项的顺序

java - TestComplete 与 Eclipse 项目集成

java服务与资源共享

hadoop - 所有节点启动失败

java - 通过 Java 中的 Keytab 进行 Kerberos 身份验证的问题

linux - 时区说明 - LINUX env

hadoop - 并行运行 oozie 操作的任何其他选项

hadoop - oozie中的<FS>中的多个move语句

java xml,创建自闭标签

hadoop - Oozie-分区表的配置单元操作失败