64位操作系统下 maven编译hadoop-2.2.0 源码
启动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依赖包
安装 jdk1.6以上
安装maven3.0
设置maven 环境变量(验证 mvn -version)。
执行 yum install gcc
执行yuminstall 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文件夹中
页:
[1]