[Hadoop]源码编译-hadoop-2.6.0-cdh5.7.0

 

1.系统准备

    Hadoop整体是跑在Linux系统上(没有研究过Mac的,忽略),基本不考虑Windows,

    那么首先,一台可用的Linux操作系统是必须的,并且必须是打通外网的.因为Hadoop本身使用的Maven来做的Jar包管理,所以在编译过程中,需要打通外网,方便Maven下载需要的Jar包

    前文 linux系统准备  准备好一个Linux操作系统

 

2.组件准备

  Hadoop源码准备

    切换到hadoop用户 #su - hadoop

    固定的下载的源码路径 #mkdir source

    源码下载 # wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0-src.tar.gz

  Hadoop编译需要的相关组件准备

    怎么知道Hadoop需要些什么呢,Hadoop已经告诉我们了,不得不说Hadoop作为一个已经这么多年的成熟开源系统,文档对技术人员的友好已经做得非常好了

      看这里 #cat /home/hadoop/source/hadoop-2.6.0-cdh5.7.0/BUILDING.txt  需要什么一目了然

----------------------------------------------------------------------------------

Requirements:

* Windows System
* JDK 1.7+
* Maven 3.0 or later
* Findbugs 1.3.9 (if running findbugs)
* ProtocolBuffer 2.5.0
* CMake 2.6 or newer
* Windows SDK or Visual Studio 2010 Professional
* Unix command-line tools from GnuWin32 or Cygwin: sh, mkdir, rm, cp, tar, gzip
* zlib headers (if building native code bindings for zlib)
* Internet connection for first build (to fetch all Maven and Hadoop dependencies)

----------------------------------------------------------------------------------

     够清楚了不? CMake 等在装操作系统的时候我们就已经安装了,  还需要一些相关的组件 

     OK,准备如下

     jdk-8u45-linux-x64.gz  

     apache-maven-3.3.9-bin.zip

     findbugs-1.3.9.zip

     protobuf-2.5.0.tar.gz

    .maven_local.tar.gz

     这里多一个.maven_local,这是Maven的本地Jar,到时一并上传到服务器上.因为Maven的策略很简单,首先看本地有没有,本地没有根据配置的主服务器和镜像服务器从网络上一个一个的下到本地.

     这里把本地已经下好的jar包提前打包到服务器上,就是为了避免服务器上再去下一次,这样可以节约编译时间.Hadoop需要的Jar包太多了,很多还需要墙,每下一次需要的时间实在是太长了(墙后至少半天,不墙一天都不够,还得中途不停清理Maven重下).

 

    把这些统统上传到服务器上~/sofeware路径

    一个一个来

3.JDK环境

  应用目录 # mkdir ~/app

  解压 #tar -xzvf ~/software/jdk-8u45-linux-x64.gz -C ~/app

  配置环境变量 #vi ~/.bash_profile

  添加如下:

    export JAVA_HOME=/home/hadoop/app/jdk1.8.0_45

    export PATH=$JAVA_HOME/bin:$PATH

  应用配置 #source ~/.bash_profile

  测试下 #java -version

     

4.MAVEN

  解压 #unzip -n ~/software/apache-maven-3.3.9-bin.zip -d ~/app 

  配置环境变量   #vi ~/.bash_profile

  编辑如下:

    export MVN_HOME=/home/hadoop/app/apache-maven-3.3.9

    export PATH=$MVN_HOME/bin:$PATH

  应用配置 #source ~/.bash_profile

  测试

  #mvn --version

    

  maven本地仓库路径 # mkdir ~/maven_repo

  修改maven默认本次仓库路径 # vi /home/hadoop/app/apache-maven-3.3.9/conf/settings.xml

  修改=> <localRepository>/home/hadoop/maven_repo</localRepository>

5.findbugs

  解压 #unzip -n ~/software/findbugs-1.3.9.zip -d ~/app 

  配置环境变量   #vi ~/.bash_profile

  继续配置环境变量:

    export FINDBUGS_HOME=/home/hadoop/app/findbugs-1.3.9

    export PATH=$FINDBUGS_HOME/bin:$PATH

  应用配置 #source ~/.bash_profile

  测试 #findbugs -version

      

6.protobuf

  注意这个是源码,并不是发布版的,所以要编译下 (需要gcc组件,我们在装系统时就已经装好了)

  解压 编译

  #tar -xzvf ~/software/protobuf-2.5.0.tar.gz -C ~/source

  #~/source/protobuf-2.5.0/configure --prefix=/home/hadoop/app/protobuf

  #cd ~/source/protobuf-2.5.0/

  #make && make install

  编译成功:

   然后把这个组件打进环境变量里去

    export PROTOC_HOME=/home/hadoop/app/protobuf

    export PATH=$PROTOC_HOME/bin:$PATH

   测试下 #protoc --version

    

 

6.其它

  譬如ssl 等等 都已经在装系统时就装了  接下来终于开始正式编译了

 

7.编译Hadoop

  进入Pom.xml地址: #cd ~/source/hadoop-2.6.0-cdh5.7.0

  编译:#mvn clean package -Pdist,native -DskipTests -Dtar

正常情况,因为Hadoop本身所需要的Jar包我们已经提前下好,所以编译速度还是能够接受的,我这台破机器在虚拟机上编译也只需要大概十几分钟左右就OK了

编译成功

 

编译后的安装包在哪里?  在这里

 

编译完成,后面再来部署它

 

 

  

   

posted @ 2018-05-27 17:29  NightPxy  阅读(456)  评论(0编辑  收藏  举报