启动start-dfs.sh出现WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
出现原因:hadoop本地库只有32位 在64位机子上会出现上述问题
解决方法
官方提供的本地库只有32位的,所以需要我们在64位系统 重新编译源码从而得到64位的本地库
操作系统 Centos 6.5
编译 的时候需要 linux 需要联网 ,因为maven 需要下载 hadoop 依赖包
安装 jdk 1.6 以上
安装 maven 3.0
设置 maven 环境变量 (验证 mvn -version)。
执行 yum install gcc
执行 yum install gcc-c++
执行 yum install make
解压 protobuf 2.5.0
cd 解压的目录下
执行 ./configure
执行 make
执行 make install
安装cmake
yum install cmake
yum install openssl-devel
yum install ncurses-devel
下载 hadoop 源码 hadoop-2.2.0-src.tar.gz 解压文件
修改hadoop/hadoop-common-project/hadoop-auth/pom.xml文件
<!--新增的内容开始 -->
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<scope>test</scope>
</dependency>
<!--新增的内容结束 -->
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<scope>test</scope>
</dependency>
在hadoop 解压目录下执行
mvn package -Pdist,native -DskipTests -Dtar
开始编译 hadoop 源码
编译 后 的 源码 就在 target 目录中 的 hadoop-2.2.0 文件夹中
64位操作系统下 maven编译hadoop-2.2.0 源码
猜你喜欢
转载自liliang68.iteye.com/blog/2210041
今日推荐
周排行