linux下hadoop2.6.1源码64位的编译

一、 前言

Apache官网上提供的hadoop本地库是32位的,如果我们的Linux服务器是64位的话,就会现问题。我们在64位服务器执行Hadoop命令时,则会报以下错误:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

为了解决上述问题,我们就需要自己编译一个64位的hadoop版本。

二、编译hadoop2.6.1需要的软件

  1. jdk 1.7

  2. gcc 4.4.5

  3. maven 3.3.3

  4. protobuf 2.5.0

  5. cmake 2.8.12.2

  6. ant 1.9.6

  7. finbugs(可选择)

注意:
1)在百度中搜索各个软件的名称,最好到官网上下载,下载软件一定注意软件的版本
2)finbugs不是编译所必须的软件,可以不下载。

三、编译软件的安装

  1.jdk的安装

  • 解压 tar -zxvf jdk-7u79-linux-x64.tar.gz
  • 配置环境变量,编辑/etc/profile文件
  • export JAVA_HOME=/opt/jdk1.7.0_25
  • export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  • export PATH=$PATH:$JAVA_HOME/bin
  • source /etc/profile 刷新修改的环境变量
  • java -version  检查jdk是否安装成功。有以下版本号输出即为成功。

   

  2.gcc的安装

一般linux上会自带了gcc的安装,所以在安装以前,先检查一下服务器上是否已经安装了gcc。
     输入:gcc -v
     如果有以下输出,则这说明已经安装了gcc
     如机器上没有安装gcc,请自行安装

    

  3.maven的安装

  • 解压tar -zxvf apache-maven-3.3.3-bin.tar.gz
  • 配置环境变量,编辑/etc/profile
  • export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
  • source /etc/profile 刷新修改的环境变量
  • mvn -version  检查maven是否安装成功。有以下版本号输出即为成功。

  

  4.protobuf的安装

  • 解压tar -zxvf protobuf-2.5.0.tar.gz
  • 进入protobuf的解压目录。如:cd /opt/protobuf-2.5.0/
  • 在安装目录下,执行以下命令:
    • ./ configure
    • make
    • make check
    • make install
  • protoc --version(注意命令中是两个-) 检查protoc是否安装成功。有版本号输出即为成功。

  

  5.cmake的安装

  • tar -zxvf cmake-2.8.12.2.tar.gz
  • 进入cmake的解压目录。如:cd /opt/cmake-2.8.12.2/
  • 在安装目录下,执行以下命令:
    • ./ bootstrap
    • make
    • make install
  • cmake -version 检查cmake是否安装成功。有版本号输出即为成功。

  

6.ant的安装

  • 解压tar -zxvf apache-ant-1.9.6-bin.tar.gz
  • 编辑环境变量,编辑/etc/profile
  • export ANT_HOME=/opt/apache-ant-1.9.6
  • export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$ANT_HOME/bin
  • source /etc/profile 刷新修改的环境变量
  • ant -version检查ant是否安装成功。有以下版本号输出即为成功。

   

  7.安装必要的包

  • 安装 autotool

    • 执行命令:yum install autoconf automake libtool
  • 安装 openssl-devel
    • 执行命令:yum install openssl-devel

四、编译hadoop2.6.1

  • 在Apache官网上,下载hadoop-2.6.1的源码包hadoop-2.6.1-src.tar.gz。
  • 解压源码包tar -zxvf hadoop-2.6.1-src.tar.gz
  • 进入hadoop-2.6.1-src解压目录。cd /opt/hadoop-2.6.1-src/
  • 执行命令mvn clean package -Pdist,native -DskipTests -Dtar 进行编译。
  • 编译过程中,需要下载很多包,等待时间比较长。当看到hadoop各个项目都编译成功,即出现一系列的SUCCESS之后,即为编译成功。
  • 编译好的安装包hadoop-2.6.1.tar.gz,可以在文件目录hadoop-2.6.1-src/hadoop-dist/target/下找到。

五、注意事项

编译过程中需要下载安装包,有时候可能由于网络的原因,导致安装包下载不完整,而出现编译错误。

错误1:

Remote host closed connection during handshake: SSL peer shut down incorrectly.......

解决方案:需要重新新多编译几次即可通过。

错误2:

A required class was missing while executing XXXXXX,

[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy

[ERROR]urls[0] =file:/root/.m2/repository/org/codehaus/mojo/jspc/jspc-maven-plugin/2.0-alpha-3/jspc-maven-plugin-2.0-alpha-3.jar

[ERROR]urls[1]=file:/root/.m2/repository/org/codehaus/mojo/jspc/jspc-compiler-tomcat5/2.0-alpha-3/jspc-compiler-tomcat5-2.0-alpha-3.jar [ERROR]urls[2]=file:/root/.m2/repository/tomcat/jasper-compiler/5.5.15/jasper-compiler-5.5.15.jar

[ERROR]urls[3]=file:/root/.m2/repository/javax/servlet/jsp-api/2.0/jsp-api-2.0.jar

[ERROR]urls[4]=file:/root/.m2/repository/ant/ant/1.6.5/ant-1.6.5.jar

[ERROR]urls[5]=file:/root/.m2/repository/tomcat/jasper-compiler-jdt/5.5.15/jasper-compiler-jdt-5.5.15.jar

........................

解决方案:则需要根据错误的提示,到相应目录下找到包,把包删除,然后再次重新编译。

    

linux下hadoop2.6.1源码64位的编译的更多相关文章

  1. linux下MySQL 5.6源码安装

    linux下MySQL 5.6源码安装 1.下载:当前mysql版本到了5.6.20 http://dev.mysql.com/downloads/mysql 选择Source Code 2.必要软件 ...

  2. Linux下USB suspend/resume源码分析【转】

    转自:http://blog.csdn.net/aaronychen/article/details/3928479 Linux下USB suspend/resume源码分析 Author:aaron ...

  3. 如何找到Linux下常用命令的源码

    Linux系统,常用命令的来源很多,有些命令是shell自带的,比如cd,通过执行help命令,可以查看当前系统所有的内置命令. 用type <cmd_name>来查看一个命令是否为内置命 ...

  4. linux下PostgreSQL数据库的源码安装

    实验环境>>>>>>>>>>>>>>>>>>操作系统:CentOS release 6.3 ...

  5. 【SystemTap】 Linux下安装使用SystemTap源码安装SystemTap

    转自 http://blog.csdn.net/zklth/article/details/6248558 文章 http://blog.csdn.net/zklth/archive/2010/09/ ...

  6. linux下cmake安装mysql 源码

    1.假设已经有mysql-5.6.21.tar.gz以及cmake-2.8.4.tar.gz两个源文件 (1)先安装cmake(mysql5.5以后是通过cmake来编译的) [root@ rhel5 ...

  7. 自己动手编译hadoop-2.5.2源码

    搭建环境:Centos x 6.5  64bit (后来:我才知道原来官网上发布的就是64位的,不过这个对我来说是个学习过程,对以后进行其他平台编译的时候有帮助!) 1.安装JDK 我这里用的是64位 ...

  8. 使用Maven将Hadoop2.2.0源码编译成Eclipse项目

    编译环境: OS:RHEL 6.3 x64 Maven:3.2.1 Eclipse:Juno SR2 Linux x64 libprotoc:2.5.0 JDK:1.7.0_51 x64 步骤: 1. ...

  9. Android拓展系列(11)--打造Windows下便携的Android源码阅读环境

    因为EXT和NTFS格式的差异,我一直对于windows下阅读Android源码感到不满. 前几天,想把最新的android5.0的源码下下来研究一下,而平时日常使用的又是windows环境,于是专门 ...

随机推荐

  1. k8s之PV、PVC

    目录 一.PVC和PV 1.1 PV概念 1.2 PVC概念 1.3 PV与PVC之间的关系 1.4 两种PV的提供方式 二.基于nfs创建静态PV资源和PVC资源 2.1 配置nfs存储(192.1 ...

  2. java+selenium脚本编写规范

    2.    源文件规范 2.1    文件名 源文件以最顶层的类名来命名,大小写敏感,文件扩展名为.java 2.2    文件编码 UTF-8 源文件要求编码格式为UTF-8 2.3    源文件结 ...

  3. Spring Bean配置加载为BeanDefinition全过程(注解配置)

    生产中有很多形式的的配置方式,本文仅分析注解配置.对于其他形式的配置区别主观以为主要在配置文件的解析过程不同,不一一分析了.本文以利用Dubbo框架开发rpc服务端为例详细阐述配置类的解析.数据保存. ...

  4. Linux命令行模式下安装VMware Tools详细步骤

    在Linux命令行模式安装VMware Tools 方法/步骤1: 首先启动CentOS 7,在VMware中点击上方"VM",点击"Install VMware Too ...

  5. Java基础问题

    基础问题 谈谈你对面向对象的理解 -- 结合场景 为何要使用对象编程? 可重复利用,方便拓展 面向对象有三大特征:封装.继承和多态 封装:为什么要封装?可以使类的成员(数据和行为)有选择性的暴露,这里 ...

  6. 什么是jQuery?

    目录 一:jQuery 1.jQuery介绍 2.jQuery的宗旨 3.有了jQuery那我们还使用BOM与DOM吗? 4.jQuery的优势 5.python与jQuery导入(复习) 6.jQu ...

  7. Tableau“出走中国”,“卖”给阿里,中国BI用户该何去何从?

    11月,Tableau在发给客户的邮件中透露将停止中国的直销业务,加入阿里的合作体系.消息来的如此突然,Tableau的同仁.合作伙伴.客户.用户.爱好者,甚至友商,无一不感到震惊和担忧. 在我们数据 ...

  8. Git学习笔记(详细)、idea集成

    目录 概述 安装 常用命令 总结 idea使用git idea使用github Gitee GitLab Git使用git rebase 修改提交历史中的作者及邮箱信息 概述 官网:https://g ...

  9. 《Java编程思想》学习笔记(详细)

    目录 01 对象导论 02 一切都是对象 03 操作符 04 控制执行流程 05 初始化与清理 06 访问权限控制 07 复用类(继承) 08 多态 09 接口 10 内部类 11 持有对象 12 通 ...

  10. Qt:QListWidgetItem

    0.说明 一个QListWidgetItem是QListWidget中的一项(一行). 每个Item都可以持有多部分的信息,并将它们在适当时候展示出来. 在构造一个Item时指明它所在的List Wi ...