发表于 2018-10-31 09:47:07

Hadoop can't load native lib

  前几天部门刚来不久的小同学装Hadoop一直失败,报libhadoop加载错误解决不了.过去查看下相关依赖lib都解决了,JAVA_LIBRARY_PATH也指定正确位置了,为啥还会失败呢?
  直接强制加载一次nativelib再看发现原来在另外一个目录有人安装了libhadoop,但是版本是错误的,很多依赖都找不到,而HADOOP启动时正加载了这个路径下的libhadoop导致失败的,这是什么原因呢?
  查看HADOOP在nativelib的加载过程,最后跟踪到classloader的loadLibrary方法发现:
usr_paths = initializePath("java.library.path");  
sys_paths = initializePath("sun.boot.library.path");
  原来在加载javalib时,classloader是优先加载sys_paths然后才是usr_paths.
  我也学习了:)


页: [1]
查看完整版本: Hadoop can't load native lib