CDH版hadoop2.6.0-cdh5.7.0源码编译

前置要求

  • hadoop2.6.0-cdh5.7.0 源码包 下载
  • jdk 1.7+ 下载
  • maven 3.0+ 下载
  • protobuf 2.5+ 下载

安装依赖库

$>yum install -y svn ncurses-devel gcc*
$>yum install -y openssl openssl-devel svn ncurses-devel zlib-devel libtool
$>yum install -y snappy snappy-devel bzip2 bzip2-devel lzo lzo-devel lzop autoconf automake cmake 

安装JDK和配置环境变量

  • 解压
    tar -zxvf jdk-7u67-linux-x64.gz -C ../app/
    
  • 修改权限
     	[root@hadoop000 app]# ll
     	total 4
     	drwxr-xr-x 8 uucp 143 4096 Jul 26  2014 jdk1.7.0_67
     	[root@hadoop000 app]# chown -R root:root jdk1.7.0_67/
     	[root@hadoop000 app]# ll
     	total 4
     	drwxr-xr-x 8 root root 4096 Jul 26  2014 jdk1.7.0_67
     	[root@hadoop000 app]# 
    
  • 配置环境变量
     vi /etc/profile
     
     # 增加java环境
     export JAVA_HOME=/home/hadoop/app/jdk1.7.0_67
     export PATH=$JAVA_HOME/bin:$PATH
     
     #生效环境
     source /etc/profile
    

安装maven和配置环境变量

  • 解压
    tar -zxvf apache-maven-3.6.0-bin.tar.gz -C ../app/
    
  • 配置环境变量
        vi /etc/profile
        
        # 增加maven环境
     	export MAVEN_HOME=/home/hadoop/app/apache-maven-3.6.0
     	export MAVEN_OPTS="-Xms256m -Xmx512m"
     	export PATH=$MAVEN_HOME/bin:$PATH
    
        
        # 生效环境
        source /etc/profile
     	
     	# 测试是否生效
     	mvn -version
       ```
    

安装protobuf 和配置环境变量

  • 解压
    tar -zxvf protobuf-2.5.0.tar.gz -C ../app/
    
  • 进入软件目录执行如下命令
    [root@hadoop000 app]# cd protobuf-2.5.0/
    [root@hadoop000 protobuf-2.5.0]# ./configure  --prefix=/home/hadoop/app/protobuf-2.5.0  
    #  --prefix= 是用来待会编译好的包放在为路径
    # 这两步是在编译安装
    [root@hadoop000 protobuf-2.5.0]# make
    [root@hadoop000 protobuf-2.5.0]# make install
    
    
  • 修改环境变量
    vi /etc/profile
    
    # 增加maven环境
    export PROTOC_HOME=/home/hadoop/app/protobuf-2.5.0
    export PATH=$PROTOC_HOME/bin:$PATH
    
    
    # 生效环境
    source /etc/profile
    
    # 测试是否生效
    protoc --version
    出现 libprotoc 2.5.0即为安装成功
    

重头戏

首先我们先修改下maven相关内容

修改maven本地仓库地址
<localRepository>/home/hadoop/.m2/repo</localRepository>

注意:当前用户下 是没有.m2 文件夹的需要手动创建

修改maven 镜像 修改成阿里的镜像
	<mirror>
		<id>nexus-aliyun</id>
		<mirrorOf>central</mirrorOf>
		<name>Nexus aliyun</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public</url>
	</mirror>
手动加入maven仓库

因为后面编译hadoop的时候,需要下载maven的jar包,比较多,这里我提供一个下载好的仓库地址

链接: https://pan.baidu.com/s/1RJDdwbcHPWNUKQ1MCQdOdQ 提取码: p7g3 复制这段内容后打开百度网盘手机App,操作更方便哦

下载下来之后 直接把内容解压之后,放在本地maven仓库,也就是之前指定的/home/hadoop/.m2/ 下面即可,解压之后的文件名 需要和之前指定的本地仓库地址 核对下 即可.

开始编译

进入解压好的hadoop的目录下

#执行命令 开始编译
mvn clean package -Pdist,native -DskipTests -Dtar

接下来我们要做的 就是等~~~

在这里插入图片描述

漫长的等待之后 ,编译成功~~~
成功后生成的包在/hadoop-2.6.0-cdh5.7.0/hadoop-dist/target/ 目录下

后记

因为之前编译的时候,也是为了能让 hadoop native支持snappy 以及 bzip2 之类的
测试下是否支持

[hadoop@hadoop000 bin]$ hadoop checknative
18/12/05 12:52:23 INFO bzip2.Bzip2Factory: Successfully loaded & initialized native-bzip2 library system-native
18/12/05 12:52:23 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native library checking:
hadoop:  true /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/lib/native/libhadoop.so.1.0.0
zlib:    true /lib64/libz.so.1
snappy:  true /usr/lib64/libsnappy.so.1
lz4:     true revision:99
bzip2:   true /lib64/libbz2.so.1
openssl: true /usr/lib64/libcrypto.so

成功!!

猜你喜欢

转载自blog.csdn.net/weixin_40420525/article/details/84831366