为何要自行编译hadoop源码,往往是由于官方提供的hadoop发行版都是基于32位操作系统,在操作hadoop时会发生warn。
 
准备软件:
1)JDK
2)Hadoop源码
3)Maven
4)Protobuf
 
编译小结:
1)JDK安装(略)
2)必要依赖安装
       sudo yum install -y g++ gcc gcc-c++ autoconf automake libtoolcmake zliblg-dev pkg-conf libssl-dev openssh-client make mcurses-devel
3)Protobuf安装
    ./configure --prefix=/usr/local/protoc/
    make
    make install
4)Maven安装(略)
5)vi .bash_profile
   export MAVEN_HOME=/opt/softwares/apache-maven-3.2.5
   PATH=$MAVEN_HOME/bin:/usr/local/protoc/bin:$PATH
6)Hadoop编译
     mvn package –DskipTests –Pdist,native
7)编译成功后,将hadoop-dist/target/hadoop-2.3.0-cdh5.0.2/lib/native下文件拷贝纸$HADOOP_HOME/lib/native下,文件如下:

  libhadoop.a
  libhadooppipes.a
  libhadoop.so -> libhadoop.so.1.0.0
  libhadoop.so.1.0.0
  libhadooputils.a
  libhdfs.a
  libhdfs.so -> libhdfs.so.0.0.0
  libhdfs.so.0.0.0

8)验证

  hadoop checknative
  15/11/06 15:46:41 WARN bzip2.Bzip2Factory: Failed to load/initialize native-bzip2 library system-native, will use pure-Java version
  15/11/06 15:46:41 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
  Native library checking:
  hadoop: true /opt/modules/hadoop-2.3.0-cdh5.0.2/lib/native/libhadoop.so.1.0.0
  zlib: true /lib64/libz.so.1
  snappy: false
  lz4: true revision:99
  bzip2: false

hadoop源码编译的更多相关文章

  1. hadoop 源码编译

    hadoop 源码编译 1.准备jar 1) hadoop-2.7.2-src.tar.gz 2) jdk-8u144-linux-x64.tar.gz 3) apach-ant-1.9.9-bin. ...

  2. Hadoop源码编译过程

    一.           为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通 ...

  3. Hadoop源码编译环境搭建

    准备工具: maven 3.0.0版本或者更高版本(配置中心库) protocbuff 2.5.0 http://www.zlib.net/ git bash(Windows环境可以用此工具执行编译命 ...

  4. hadoop源码编译——2.5.0版本

    强迫症必治: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using b ...

  5. Hadoop 源码编译导出

    https://svn.apache.org/repos/asf/hadoop/common/branches/branch-trunk-win/BUILDING.txt http://www.src ...

  6. hadoop源码编译--maven安装

    一 下载maven bin包并解压 $ wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3 ...

  7. hadoop-1.2.0源码编译

    以下为在CentOS-6.4下hadoop-1.2.0源码编译步骤. 1. 安装并且配置ant 下载ant,将ant目录下的bin文件夹加入到PATH变量中. 2. 安装git,安装autoconf, ...

  8. Hadoop源码阅读环境搭建(IDEA)

    拿到一份Hadoop源码之后,经常关注的两件事情就是 1.怎么阅读?涉及IDEA和Eclipse工程搭建.IDEA搭建,选择源码,逐步导入即可:Eclipse可以选择后台生成工程,也可以选择IDE导入 ...

  9. Hadoop,HBase,Zookeeper源码编译并导入eclipse

    基本理念:尽可能的参考官方英文文档 Hadoop:  http://wiki.apache.org/hadoop/FrontPage HBase:  http://hbase.apache.org/b ...

随机推荐

  1. 【转载】ADO.NET与ORM的比较(2):NHibernate实现CRUD

    [转载]ADO.NET与ORM的比较(2):NHibernate实现CRUD  转自周公 说明:个人感觉在Java领域大型开发都离不了ORM的身影,所谓的SSH就是Spring+Struts+Hibe ...

  2. build opencv with python support

    cmake -DPYTHON_LIBRARY=/opt/anaconda/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR=/opt/anaconda/include/ ...

  3. php代码查询apache模块

    <?php print_r(apache_get_modules()); ?> 注:此函数仅适用于CGI模式.

  4. web项目配置webAppRootKey 获得根目录 .

    log4j和web.xml配置webAppRootKey 的问题 1 在web.xml配置 <context-param>  <param-name>webAppRootKey ...

  5. php get_ini 和 get_cfg_var 的区别

    get_ini 和 get_cfg_var 都是用来获取 php 配置信息的函数. 区别是 get_ini 是用来获取当前运行的配置信息,get_cfg_var 是用来获取配置文件(php.ini)的 ...

  6. Happy 2004(快速幂+乘法逆元)

    Happy 2004 问题描述 : Consider a positive integer X,and let S be the sum of all positive integer divisor ...

  7. HQL(Hibernate Query language)语言

    现在有两张表:student(学生表),classroom(教室表). //对象 Student 对应 student 表中有四个字段,分别是:id,name,age,classroom; publi ...

  8. POI3.10 根据Excel模版导出数据测试

    1:所需jar包 2:Mysql数据库表内容如下: 3:代码结构如下: (1)User.java public class User { private int id; private String ...

  9. 安卓手机用-----Exchange Activesync---同步Gmail日历联系人

    微软Exchange Activesync是一个跨平台的移动设备同步协议 支持很多手机操作系统,比如诺基亚的塞班.黑莓的palm.WindowsMobile.Iphone.安卓等.这些手机上都可以用这 ...

  10. Mybatis的连接池

    先总结一个原则:mytatis的连接池最大值poolMaximumActiveConnections尽量跟服务器的并发访问量持平以至于大于并发访问量. 原因:在org.apache.ibatis.da ...