hadoop2.4 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

在Ubuntu上安装完hadoop2.4以后,使用以下命令:

hadoop fs -ls
14/09/09 11:33:51 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 1 items
drwxr-xr-x   - duomai supergroup          0 2014-09-05 12:10 flume

有个WARN提示hadoop不能加载本地库,网上搜了下,这个问题基本上是由于在apache hadoop官网上下载的hadoopXXX.bin.tar.gz实在32位的机器上编译的(蛋疼吧),我集群使用的64bit的,加载.so文件时出错,当然基本上不影响使用hadoop(如果你使用mahout做一些机器学习的任务时有可能会遇到麻烦,加载不成功,任务直接退出,所以还是有必要解决掉这个warn的)。

但是每次运行一个命令多有这么个WARN很不爽,想干掉也很简单:

1. 下载hadoop2.4源码
2. 在集群的某台机器上编译
3. 替换之前的$HADOOP_HOME/lib/native为新编译的native

其中有几点注意的:

(1)在2(进行编译)之前,先修改maven安装目录下conf/settings.xml(因为maven使用的国外的reposity,国内有时无法访问,修改为国内镜像即可),<mirrors></mirros>里添加,其他的不需改动,具体修改如下:

   <mirror>
        <id>nexus-osc</id>
         <mirrorOf>*</mirrorOf>
     <name>Nexusosc</name>
     <url>http://maven.oschina.net/content/groups/public/</url>
   </mirror>

同样,在<profiles></profiles>内新添加

<profile>
       <id>jdk-1.7</id>
       <activation>
         <jdk>1.7</jdk>
       </activation>
       <repositories>
         <repository>
           <id>nexus</id>
           <name>local private nexus</name>
           <url>http://maven.oschina.net/content/groups/public/</url>
           <releases>
             <enabled>true</enabled>
           </releases>
           <snapshots>
             <enabled>false</enabled>
           </snapshots>
         </repository>
       </repositories>
       <pluginRepositories>
         <pluginRepository>
           <id>nexus</id>
          <name>local private nexus</name>
           <url>http://maven.oschina.net/content/groups/public/</url>
           <releases>
             <enabled>true</enabled>
           </releases>
           <snapshots>
             <enabled>false</enabled>
           </snapshots>
         </pluginRepository>
       </pluginRepositories>
     </profile>

修改完成后使用以下命令编译hadoop;

mvn package -Dmaven.javadoc.skip=true -Pdist,native -DskipTests -Dtar

然后就是等待,大概20min后,build success,目标在

hadoop-2.4.1-src/hadoop-dist/target/hadoop-2.4.1.tar.gz

(2)在编译成功后,将新的lib/native替换到集群中原来的lib/native,记得要修改$HADOOP_HOME/etc/hadoop/hadoop-env.sh,在最后加上;

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"

======

重新运行如下命令:

hadoop fs -ls
Found 1 items
drwxr-xr-x   - duomai supergroup          0 2014-09-05 12:10 flume

WARN消失,good!

参考资料:

1. http://hadoop.apache.org/docs/r2.4.0/hadoop-project-dist/hadoop-common/NativeLibraries.html

2. http://stackoverflow.com/questions/19943766/hadoop-unable-to-load-native-hadoop-library-for-your-platform-error-on-centos

3. http://blog.csdn.net/w13770269691/article/details/16883663/#

时间: 2024-10-01 03:10:44

hadoop2.4 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable的相关文章

HADOOP:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable终于解决了

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 参考了网上很多办法,不行. 这个警告总觉得不爽.. 最近部署SPARK时,顺带解决了. URL参考如下“ http://www.mak-blog.com/spark-on-yarn-setup-multinode.html 一,通常编译好的

Hadoop安装—— WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platf

今天在安装hadoop完成测试创建用户目录失败在网上找到了原因记录一下原文地址 http://blog.csdn.net/l1028386804/article/details/51538611 配置完hadoop启动运行的时候出现如下警告信息: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applica

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...

Hadoop之—— WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... 2016年05月30日 15:58:11 冰 河 阅读数:69887 标签: hadoopnative 更多 个人分类: Hadoop 所属专栏: Hadoop生态 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/l1028386804/article/de

Hadoop问题解决:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

在配置好hadoop的环境之后,命令启动./start-all.sh发现经常出现这样的一个警告: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 关于解决这个问题总结了一下方法: 按警告的描述是说  hadoop的native库导入失败,定位这个问题就是要看下native目录下的静态库

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

先看看我们出现的问题 我这里是hadoop-2.6.0版本. 如果你也是hadoop2.6的可以下载下面这个: http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.6.0.tar 若是其他的hadoop版本,下载下面这个: http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.*.0.tar 现在进入你的hadoop目录下 的/lib/

hadoop WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

这个waring 信息是可以忽略的.下面是解决方案 在hadoop-env.sh中添加 export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib/native" export HADOOP_COMMON_LIB_NATIVE_DIR="/usr/local/hadoop/lib/native/"

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...解决办法

在执行Hadoop命令的时候会出现这样的警告: 解决办法: 在profile文件中添加:export JAVA_LIBRARY_PATH=${HADOOP_HOME}/lib/native 这是在调用Hadoop里的库.具体可以参考www.cnblogs.com/gpcuster/archive/2011/02/17/1957042.html

hadoop2.6.0实践:A02 问题处理 util.NativeCodeLoader: Unable to load native-hadoop library for your platform

############################################################# hadoop "util.NativeCodeLoader: Unable to load native-hadoop library for your platform" hadoop安装完以后,经常会提示以下警告: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your

hadoop错误INFO util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

报如下错误: 解决方法: 1.增加调试信息 在HADOOP_HOME/etc/hadoop/hadoop-env.sh文件中添加如下信息 2.再执行一次操作,看看报什么错误 上面信息显示,需要2.14的glibc库 解决方法: 1.查看系统的libc版本(ll /lib64/libc.so.6) 显示版本为2.12 第一种解决方式,使用2.12版本的glibc,重新编译hadoop 第二种解决方式,给系统安装2.14版本的glibc 1.下载glibc(https://yunpan.cn/cSm