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

hadoop fs -ls
// :: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found items
drwxr-xr-x - duomai supergroup -- : flume

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

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

. 下载hadoop2.4源码
. 在集群的某台机器上编译
. 替换之前的$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 items
drwxr-xr-x - duomai supergroup -- : 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/#

最新文章

  1. JPA,EclipseLink 缓存机制学习(一) 树节点搜索问题引发的思考
  2. 北京易信软科信息技术有限公司-仓库管理系统V1.0
  3. PHP将uncode转utf8,一行代码解决问题
  4. Junit 测试 Spring
  5. Java实现文件的加密与解密
  6. shell脚本初识
  7. Fuel4D 2.1 免费跨平台游戏引擎 现已发布
  8. [LeetCode] 110. Balanced Binary Tree 解题思路
  9. Android学习笔记:ActionBar使用介绍
  10. 《JS权威指南学习总结--7.10 数组类型》
  11. windows 7 wifi热点配置
  12. Mybatis+Mysql插入数据库返回自增主键id值的三种方法
  13. 全网代理公开ip爬取(隐藏元素混淆+端口加密)
  14. css块居中
  15. hive笔记
  16. 13Linux_vsftpd_Samba_NFS实现文件共享_TFTP
  17. poj2528(线段树+离散化)
  18. ModelState 错误信息输出
  19. zookeepeer使用zkCli.sh命令
  20. (转载)Windows WMIC命令使用详解(附实例)

热门文章

  1. AndroidMainfest.xml文件解释
  2. 定时处理组件---Quartz.net
  3. 测试merge效率
  4. Linux 调优方案, 修改最大连接数(ulimit命令)
  5. 解决eclipse双击类名、选中类名出现假死或者非常慢的问题(取消Eclipse鼠标悬停和自定义快捷键)
  6. :input获得焦点时被弹出键盘挡住解决办法
  7. Table AUD$
  8. lazy load的一些网址
  9. asp.net mvc网站的发布与IIS配置
  10. jQuery对ajax的支持