搜诶符合你 发表于 2016-12-11 07:16:34

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]
查看完整版本: 64位操作系统下 maven编译hadoop-2.2.0 源码