Hadoop2.9.2 源码编译

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。Apache Hadoop软件库是一个框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集。它旨在从单个服务器扩展到数千台计算机,每台计算机都提供本地计算和存储。库本身不是依靠硬件来提供高可用性,而是设计用于检测和处理应用层的故障,从而在计算机集群之上提供高可用性服务,每个计算机都可能容易出现故障。

该项目包括以下模块:

  1. Hadoop Common:支持其他Hadoop模块的常用实用程序。
  2. Hadoop分布式文件系统(HDFS™):一种分布式文件系统,可提供对应用程序数据的高吞吐量访问。
  3. Hadoop YARN:作业调度和集群资源管理的框架。
  4. Hadoop MapReduce:基于YARN的系统,用于并行处理大型数据集。
  5. Hadoop Ozone: Hadoop的对象存储。

编译环境

  1. 系统环境:Ubuntu18.04。
  2. 硬件环境:台式,内存:32G,处理器:Intel® Core™ i7-8700 CPU @ 3.20GHz × 12 ,32核。
  3. Hadoop版本:2.8.5;2.9.2。

编译准备

Hadoop源码下载地址 :https://hadoop.apache.org/releases.html。

在这里插入图片描述

Hadoop官方参考文档:http://hadoop.apache.org/docs/r2.8.5/。
在这里插入图片描述

博主下载了两个版本 : 2.8.5和2.9.2

编译过程

  1. 解压源码包。
  2. 进入到源码目录,找到BUILDING.txt文件,里面有源码编译指南,注意Protobuf可能需要自行编译安装。

  1. 找到maven环境下的settings.xml文件,添加镜像代理
     <mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf> 
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
    <mirror>
      <id>nexus-public-snapshots</id>
      <mirrorOf>public-snapshots</mirrorOf> 
      <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
    </mirror>
  1. 执行编译,进入到源码目录,找到BUILDING.txt文件,其中有编译命令

在这里插入图片描述

  1. 编译结果

在这里插入图片描述

  1. 编译问题,2.9.2版本,出现 Could not find artifact com.amazonaws:DynamoDBLocal 异常,找到maven的settings.xml文件,修改镜像配置如下:
    在这里插入图片描述

再到hadoop2.9.2的hadoop-maven-plugins目录下,添加pom.xml文件添加如下依赖配置

 <dependency>
     <groupId>com.amazonaws</groupId>
     <artifactId>DynamoDBLocal</artifactId>
     <version>1.11.86</version>
 </dependency>
  1. Hadoop2.9.2的最终编译结果

在这里插入图片描述

  1. 最终编译产生的 Protocol Buffer 中间通讯协议文件在各子项目的target目录下。

Apache的其他Hadoop相关项目包括:

  1. Ambari™:基于Web的工具,用于配置,管理和监控Apache Hadoop集群,包括对Hadoop HDFS,Hadoop MapReduce,Hive,HCatalog,HBase,ZooKeeper,Oozie,Pig和Sqoop的支持。Ambari还提供了一个用于查看集群运行状况的仪表板,例如热图,以及可视化查看MapReduce,Pig和Hive应用程序的功能,以及以用户友好的方式诊断其性能特征的功能。
  2. Avro™:数据序列化系统。
  3. Cassandra™:可扩展的多主数据库,没有单点故障。
  4. Chukwa™:用于管理大型分布式系统的数据收集系统。
  5. HBase™:可扩展的分布式数据库,支持大型表的结构化数据存储。
  6. Hive™:一种数据仓库基础架构,提供数据汇总和即席查询。
  7. Mahout™:可扩展的机器学习和数据挖掘库。
  8. Pig™:用于并行计算的高级数据流语言和执行框架。
  9. Spark™:用于Hadoop数据的快速通用计算引擎。Spark提供了一种简单而富有表现力的编程模型,支持广泛的应用程序,包括ETL,机器学习,流处理和图形计算。
  10. Tez™:基于Hadoop YARN构建的通用数据流编程框架,它提供了一个功能强大且灵活的引擎,可以执行任意DAG任务来处理批量和交互式用例的数据。Tez正在被Hadoop生态系统中的Hive™,Pig™和其他框架以及其他商业软件(例如ETL工具)采用,以取代Hadoop™MapReduce作为底层执行引擎。
  11. ZooKeeper™:用于分布式应用程序的高性能协调服务。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值