【问题标题】:java.lang.UnsatisfiedLinkError: /opt/oracle/oraloader-2.0.0-2/lib/libolh11.so: libclntsh.so.11.1: cannot open shared object filejava.lang.UnsatisfiedLinkError: /opt/oracle/oraloader-2.0.0-2/lib/libolh11.so: libclntsh.so.11.1: 无法打开共享对象文件
【发布时间】:2012-12-11 21:25:04
【问题描述】:

在集群上运行 hadoop 作业时,我得到以下信息。

2012-12-11 04:20:47,642 INFO oracle.hadoop.loader.lib.output.OCIOutputFormat: loadNativeLib: java.library.path=/opt/oracle/oraloader-2.0.0-2/lib:/usr/lib/hadoop-0.20-mapreduce/lib/native/Linux-amd64-64:/u04/hadoop/mapred/taskTracker/ashsshar/jobcache/job_201212110407_0004/attempt_201212110407_0004_r_000000_0/work
2012-12-11 04:20:47,657 INFO org.apache.hadoop.mapred.TaskLogsTruncater: Initializing logs' truncater with mapRetainSize=-1 and reduceRetainSize=-1
2012-12-11 04:20:47,661 FATAL org.apache.hadoop.mapred.Child: Error running child : java.lang.UnsatisfiedLinkError: /opt/oracle/oraloader-2.0.0-2/lib/libolh11.so: libclntsh.so.11.1: cannot open shared object file: No such file or directory
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)

我已经检查了这些文件是否存在于集群节点的所需目录下。我也更改了这些文件的权限。

我已经修改了 hadoop 的 mapred-site.xml 中的 LD_LIBRARY_PATH 以使用 mapred.child.java.opts 选项添加这些必需的 3rd 方 jars

【问题讨论】:

    标签: linux oracle hadoop classpath hdfs


    【解决方案1】:

    要让 java 库加载器找到库,您应该设置 JAVA_LIBRARY_PATH

    【讨论】:

      猜你喜欢
      • 2011-02-12
      • 2021-12-28
      • 1970-01-01
      • 1970-01-01
      • 2016-04-10
      • 2019-04-23
      • 2014-04-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多