龙空技术网

手把手教你搞定Hadoop源码编译

尚硅谷教育 326

前言:

现在我们对“protobufcentos编译”大概比较关注,兄弟们都想要学习一些“protobufcentos编译”的相关内容。那么小编同时在网络上收集了一些关于“protobufcentos编译””的相关知识,希望姐妹们能喜欢,姐妹们一起来了解一下吧!

前期准备工作

1、CentOS联网

使用能连接外网的CentOS系统虚拟机,使用root用户进行编译,避免出现文件夹权限问题。

2、Jar包准备

从官网下载以下安装包

(1)hadoop-3.1.3-src.tar.gz

(2)jdk-8u212-linux-x64.tar.gz

(3)apache-maven-3.6.3-bin.tar.gz

(4)protobuf-2.5.0.tar.gz(序列化的框架)

(5)cmake-3.13.1.tar.gz

Jar包安装

1、上传软件包到指定的目录,例如 /opt/software/hadoop_source

[root@hadoop101 hadoop_source]$ pwd/opt/software/hadoop_source[root@hadoop101 hadoop_source]$ ll总用量 55868-rw-rw-r--. 1 atguigu atguigu  9506321 3月  28 13:23 apache-maven-3.6.3-bin.tar.gz-rw-rw-r--. 1 atguigu atguigu  8614663 3月  28 13:23 cmake-3.13.1.tar.gz-rw-rw-r--. 1 atguigu atguigu 29800905 3月  28 13:23 hadoop-3.1.3-src.tar.gz-rw-rw-r--. 1 atguigu atguigu  2401901 3月  28 13:23 protobuf-2.5.0.tar.gz

2、解压软件包至指定的目录,例如:/opt/module/Hadoop_source

[root@hadoop101 hadoop_source]$ tar -zxvfapache-maven-3.6.3-bin.tar.gz -C /opt/module/hadoop_source/ [root@hadoop101 hadoop_source]$ tar -zxvfcmake-3.13.1.tar.gz -C /opt/module/hadoop_source/ [root@hadoop101 hadoop_source]$ tar -zxvfhadoop-3.1.3-src.tar.gz -C /opt/module/hadoop_source/ [root@hadoop101 hadoop_source]$ tar -zxvfprotobuf-2.5.0.tar.gz -C /opt/module/hadoop_source/ [root@hadoop101 hadoop_source]$ pwd/opt/module/hadoop_source [root@hadoop101 hadoop_source]$ ll总用量 20drwxrwxr-x.  6 atguigu atguigu 4096 3月  28 13:25 apache-maven-3.6.3drwxr-xr-x. 15 root    root   4096 3月  28 13:43 cmake-3.13.1drwxr-xr-x. 18 atguigu atguigu 4096 9月  12 2019 hadoop-3.1.3-srcdrwxr-xr-x. 10 atguigu atguigu 4096 3月  28 13:44 protobuf-2.5.0

3、安装JDK

(1)解压JDK

[root@hadoop101 hadoop_source]# tar -zxvfjdk-8u212-linux-x64.tar.gz -C /opt/module/hadoop_source/

(2)配置环境变量

[root@hadoop101 jdk1.8.0_212]# vim/etc/profile.d/my_env.sh输入如下内容:#JAVA_HOMEexportJAVA_HOME=/opt/module/hadoop_source/jdk1.8.0_212export PATH=$PATH:$JAVA_HOME/bin

(3)刷新JDK环境变量

[root@hadoop101 jdk1.8.0_212]# source/etc/profile

(4)验证JDK是否安装成功

[root@hadoop101 hadoop_source]$ java-versionjava version "1.8.0_212"Java(TM) SE Runtime Environment (build1.8.0_212-b10)Java HotSpot(TM) 64-Bit Server VM (build25.212-b10, mixed mode)

4、配置maven环境变量,maven镜像,并验证

(1)配置maven的环境变量

[root@hadoop101 hadoop_source]#  vim /etc/profile.d/my_env.sh#MAVEN_HOMEMAVEN_HOME=/opt/module/hadoop_source/apache-maven-3.6.3PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin [root@hadoop101 hadoop_source]#  source /etc/profile

(2)修改maven的镜像

[root@hadoop101 apache-maven-3.6.3]# vi conf/settings.xml
# 在 mirrors节点中添加阿里云镜像 <mirrors>   <mirror>        <id>nexus-aliyun</id>        <mirrorOf>central</mirrorOf>         <name>Nexusaliyun</name>               <url>;/url>    </mirror></mirrors>

(3)验证maven安装是否成功

[root@hadoop101 hadoop_source]# mvn-versionApache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)Maven home:/opt/module/hadoop_source/apache-maven-3.6.3Java version: 1.8.0_212, vendor: OracleCorporation, runtime: /opt/module/hadoop_source/jdk1.8.0_212/jreDefault locale: zh_CN, platform encoding:UTF-8OS name: "linux", version:"3.10.0-862.el7.x86_64", arch: "amd64", family:"unix"

5、安装相关的依赖(注意安装顺序不可乱,可能会出现依赖找不到问题)

(1)安装gcc make

[root@hadoop101 hadoop_source]# yuminstall -y gcc* make

(2)安装压缩工具

[root@hadoop101 hadoop_source]# yum -y install snappy*  bzip2* lzo* zlib*  lz4* gzip*

(3)安装一些基本工具

[root@hadoop101 hadoop_source]# yum -y install openssl* svn ncurses* autoconf automake libtool

(4)安装扩展源,才可安装zstd

[root@hadoop101 hadoop_source]# yum -yinstall epel-release

(5)安装zstd

[root@hadoop101 hadoop_source]# yum -yinstall *zstd*

6、手动安装cmake

(1)在解压好的cmake目录下,执行./bootstrap进行编译,此过程需一小时请耐心等待

[root@hadoop101cmake-3.13.1]$ pwd/opt/module/hadoop_source/cmake-3.13.1[atguigu@hadoop101 cmake-3.13.1]$./bootstrap

(2)执行安装

[root@hadoop101 cmake-3.13.1]$ make&& make install

(3)验证安装是否成功

[root@hadoop101 cmake-3.13.1]$ cmake-versioncmake version 3.13.1CMake suite maintained and supported byKitware (kitware.com/cmake).

7、进入到解压后的protobuf目录,安装protobuf

(1)依次执行下列命令--prefix 指定安装到当前目录

[root@hadoop101 protobuf-2.5.0]$./configure --prefix=/opt/module/hadoop_source/protobuf-2.5.0 [root@hadoop101 protobuf-2.5.0]$ make&& make install

(2)配置环境变量

[root@hadoop101 protobuf-2.5.0]$ vim /etc/profile.d/my_env.sh输入如下内容PROTOC_HOME=/opt/module/hadoop_source/protobuf-2.5.0PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$PROTOC_HOME/bin

(3)验证

[root@hadoop101 protobuf-2.5.0]$ source /etc/profile[root@hadoop101 protobuf-2.5.0]$ protoc --versionlibprotoc 2.5.0

8、到此,软件包安装配置工作完成。

编译源码

1、进入解压后的Hadoop源码目录下,执行编译命令

[root@hadoop101 hadoop-3.1.3-src]$ pwd/opt/module/hadoop_source/hadoop-3.1.3-src

#开始编译

[root@hadoop101 hadoop-3.1.3-src]$ mvn clean package -DskipTests -Pdist,native -Dtar

注意:第一次编译需要下载很多依赖jar包,编译时间会很久,预计1小时左右,最终成功是全部SUCCESS,爽!!!

2、成功的64位hadoop包在/opt/hadoop-3.1.3-src/hadoop-dist/target下

相关阅读:

hadoop 支持三种调度器

Hadoop之HDFS的I/O流操作

Hadoop(HDFS)之 数据完整性

大数据学习之部署Hadoop

Hadoop数据压缩之压缩方式选择

标签: #protobufcentos编译