mac hbase程序启动警告:找不到hadoop native lib

来源:互联网 发布:关于费米估算法的书 编辑:程序博客网 时间:2024/06/10 19:45

本文中hbase采用非分布式模式安装。

一、问题描述

在eclipse中开发完hbase程序,启动时有警告:
WARN [main] util.NativeCodeLoader (NativeCodeLoader.java:(62)) - Unable to load native-hadoop library for your platform… using builtin-java classes where applicable.

二、问题排查

在网上搜索后,发现官网有该问题的说明,链接如下:
http://hbase.apache.org/book.html#hadoop.native.lib
但是在尝试后并不能解决mac hbase问题。

三、问题解决

受到hbase官网上的说明Where the JVM looks to find native libraries is “system dependent” (See java.lang.System#loadLibrary(name))启发:JVM不是找不到Hadoop的native lib嘛,那我就把JVM定位native lib时寻找过的所有路径都打出来,然后把Hadoop native lib放到其中一个路径下不就行了嘛,抱着试一试的态度,立马开干:

1.打出JVM定位native lib时寻找过的所有路径:
String libpath = System.getProperty("java.library.path");
System.out.println(libpath);

得到搜索路径如下:
/Users/junwei8/Library/Java/Extensions:
/Library/Java/Extensions:
/Network/Library/Java/Extensions:
/System/Library/Java/Extensions:
/usr/lib/java:.

2.把Hadoop native lib下文件拷贝一份放到路径/System/Library/Java/Extensions下,需要注意的是不能在该目录新建目录存放Hadoop native lib下的文件,这些文件只能放到/System/Library/Java/Extensions下。

再次运行hbase程序,警告消除,问题解决。

0 0
原创粉丝点击