最码农 最码农
  • 首页
  • 动态广场
  • 精选栏目
  • 闲言碎语
  • 左邻右里
  • 笔记屋
  • 注册
  • 登录
首页 › 大数据 › Hadoop 编译源码

Hadoop 编译源码

Cosy
11月前大数据阅读 398

前期准备工作

1)CentOS 联网

配置 CentOS 能连接外网。Linux 虚拟机 ping www.baidu.com 是畅通的

注意:采用 root 角色编译,减少文件夹权限出现问题

2)jar 包准备(hadoop 源码、JDK8、maven、ant 、protobuf)

  • (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 包安装

注意:所有操作必须在 root 用户下完成

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


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

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


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

3) 确认 Java 已安装且配置好环境变量,安装完后验证


[hadoop@hadoop101 hadoop_source]$ java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)

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


#配置 maven 的环境变量
[root@hadoop101 hadoop_source]# vim /etc/profile
#MAVEN_HOME
MAVEN_HOME=/opt/module/hadoop_source/apache-maven-3.6.3
PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
[root@hadoop101 hadoop_source]# source /etc/profile
#修改 maven 的镜像
[root@hadoop101 apache-maven-3.6.3]# vi conf/settings.xml
# 在 mirrors 节点中添加阿里云镜像
<mirrors>
 <mirror>
 <id>nexus-aliyun</id>
 <mirrorOf>central</mirrorOf>
 <name>Nexus aliyun</name>
 
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
 </mirror>
</mirrors>
[root@hadoop101 hadoop_source]# mvn -version 
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /opt/module/hadoop_source/apache-maven-3.6.3
Java version: 1.8.0_212, vendor: Oracle Corporation, runtime: /opt/module/jdk1.8.0_212/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-862.el7.x86_64", arch: "amd64", family: "unix"

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


# 安装 gcc make 
[root@hadoop101 hadoop_source]# yum install -y gcc* make
#安装压缩工具
[root@hadoop101 hadoop_source]# yum -y install snappy* bzip2* lzo* zlib* 
lz4* gzip*
#安装一些基本工具
[root@hadoop101 hadoop_source]# yum -y install openssl* svn ncurses* 
autoconf automake libtool
#安装扩展源,才可安装 zstd
[root@hadoop101 hadoop_source]# yum -y install epel-release
#安装 zstd
[root@hadoop101 hadoop_source]# yum -y install *zstd*

6) 手动安装 cmake

  • 在解压好的 cmake 目录下,执行 ./bootstrap 进行编译,此过程需一小会时间耐心
    等待。

[hadoop@hadoop101 cmake-3.13.1]$ pwd
/opt/module/hadoop_source/cmake-3.13.1
[hadoop@hadoop101 cmake-3.13.1]$ ./bootstrap
  • 执行安装

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

  • 验证安装是否成功

[hadoop@hadoop101 cmake-3.13.1]$ cmake -version
cmake version 3.13.1
CMake suite maintained and supported by Kitware (kitware.com/cmake).

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


[hadoop@hadoop101 protobuf-2.5.0]$ pwd
/opt/module/hadoop_source/protobuf-2.5.0
#依次执行下列命令 --prefix 指定安装到当前目录
[hadoop@hadoop101 protobuf-2.5.0]$ ./configure 
--prefix=/opt/module/hadoop_source/protobuf-2.5.0 
[hadoop@hadoop101 protobuf-2.5.0]$ make && make install
#配置环境变量
[hadoop@hadoop101 protobuf-2.5.0]$ vim /etc/profile
PROTOC_HOME=/opt/module/hadoop_source/protobuf-2.5.0
PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$PROTOC_HOME/bin
#验证
[hadoop@hadoop101 protobuf-2.5.0]$ source /etc/profile
[hadoop@hadoop101 protobuf-2.5.0]$ protoc --version
libprotoc 2.5.0

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

编译源码

1)进入解压后的 hadoop 源码目录下


[hadoop@hadoop101 hadoop-3.1.3-src]$ pwd
/opt/module/hadoop_source/hadoop-3.1.3-src
#开始编译
[hadoop@hadoop101 hadoop-3.1.3-src]$ mvn clean package -DskipTests -Pdist,native -Dtar

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

Hadoop 编译源码-最码农
Hadoop 编译源码-最码农
Hadoop 编译源码-最码农
Hadoop 编译源码-最码农
Hadoop 编译源码-最码农

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


[root@hadoop101 target]# pwd
/opt/hadoop-3.1.3-src/hadoop-dist/target
Hadoop 编译源码-最码农
Hadoop目录及资料
Hadoop 教程
赞赏 赞(0) 收藏(0)
Hadoop 运行模式
上一篇
搭建Hadoop常见错误及解决方案
下一篇
再想想
暂无评论
随 机 推 荐
基于Layui的兽音译者加密页面
Hadoop 小文件优化方法
Hadoop2.x 和 Hadoop3.x 的新特性
MapReduce框架原理-InputFormat数据输入
Hadoop概论(一)—— 开篇词
Hadoop HDFS(二)
Hadoop HA 高可用
Hadoop 数据压缩
  • 0
  • 0
介绍

我们致力于打造一个原创的计算机相关技术的博客网站,旨在为访客提供一个优质的计算机技术教程交流平台。网站开辟了很多于计算机相关的栏目,并且收集了不少实用资源,同时也鼓励欢迎访客一起分享、交流、学习。

灵魂推荐
Veer图库 数码荔枝
栏目标题
首页 动态广场 精选栏目 闲言碎语 左邻右里 笔记屋
Copyright © 2021-2023 最码农. 苏ICP备20033168号
  • 首页
  • 动态广场
  • 精选栏目
  • 闲言碎语
  • 左邻右里
  • 笔记屋
# 教程 # # Hadoop # # HDFS # # 人工智能 # # 算法 #
Cosy
即使世界毁灭,也总有回光返照的那一刻
90
文章
3
评论
425
喜欢