初始hadoop

Hadoop是什么?

Hadoop是使用Java编写,允许分布在集群,使用简单的编程模型的计算机大型数据集处理的Apache的开源框架。 Hadoop框架应用工程提供跨计算机集群的分布式存储和计算的环境。 Hadoop是专为从单一服务器到上千台机器扩展,每个机器都可以提供本地计算和存储。

Hadoop的架构

在其核心,Hadoop主要有两个层次,即:

  • 加工/计算层(MapReduce),以及
  • 存储层(Hadoop分布式文件系统)。

MapReduce

MapReduce是一种并行编程模型,用于编写普通硬件的设计,谷歌对大量数据的高效处理(多TB数据集)的分布式应用在大型集群(数千个节点)以及可靠的容错方式。 MapReduce程序可在Apache的开源框架Hadoop上运行。

Hadoop分布式文件系统

Hadoop分布式文件系统(HDFS)是基于谷歌文件系统(GFS),并提供了一个设计在普通硬件上运行的分布式文件系统。它与现有的分布式文件系统有许多相似之处。来自其他分布式文件系统的差别是显著。它高度容错并设计成部署在低成本的硬件。提供了高吞吐量的应用数据访问,并且适用于具有大数据集的应用程序。

除了上面提到的两个核心组件,Hadoop的框架还包括以下两个模块:

  • Hadoop通用:这是Java库和其他Hadoop组件所需的实用工具。

  • Hadoop YARN :这是作业调度和集群资源管理的框架。

Hadoop如何工作?

建立重配置,处理大规模处理服务器这是相当昂贵的,但是作为替代,可以联系许多普通电脑采用单CPU在一起,作为一个单一功能的分布式系统,实际上,集群机可以平行读取数据集,并提供一个高得多的吞吐量。此外,这样便宜不到一个高端服务器价格。因此使用Hadoop跨越集群和低成本的机器上运行是一个不错不选择

Hadoop运行整个计算机集群代码。这个过程包括以下核心任务由 Hadoop 执行:

  • 数据最初分为目录和文件。文件分为128M和64M(128M最好)统一大小块。
  • 然后这些文件被分布在不同的群集节点,以便进一步处理。
  • HDFS,本地文件系统的顶端﹑监管处理。
  • 块复制处理硬件故障。
  • 检查代码已成功执行。
  • 执行发生映射之间,减少阶段的排序。
  • 发送排序的数据到某一计算机。
  • 为每个作业编写的调试日志。

Hadoop的优势

  • Hadoop框架允许用户快速地编写和测试的分布式系统。有效并在整个机器和反过来自动分配数据和工作,利用CPU内核的基本平行度。

  • Hadoop不依赖于硬件,以提供容错和高可用性(FTHA),而Hadoop库本身已被设计在应用层可以检测和处理故障。

  • 服务器可以添加或从集群动态删除,Hadoop可继续不中断地运行。

  • Hadoop的的另一大优势在于,除了是开源的,因为它是基于Java并兼容所有的平台。

Hadoop 核心组件

Hadoop 包含以下模块:

    Hadoop Common:常见实用工具,用来支持其他 Hadoop 模块。
    Hadoop Distributed File System(HDFS):分布式文件系统,它提供对应用程序数据的高吞吐量访问。
    Hadoop YARN:一个作业调度和集群资源管理框架。
    Hadoop MapReduce:基于 YARN 的大型数据集的并行处理系统。
其他与 Apache Hadoop 的相关项目包括:

    Ambari:一个基于Web 的工具,用于配置、管理和监控的 Apache Hadoop 集群,其中包括支持 Hadoop HDFS、Hadoop MapReduce、Hive、HCatalog、HBase、ZooKeeper、Oozie、Pig 和 Sqoop。Ambari 还提供了仪表盘查看集群的健康,如热图,并能够以用户友好的方式来查看的 MapReduce、Pig 和 Hive 应用,方便诊断其性能。
    HBase:一个可扩展的分布式数据库,支持结构化数据的大表存储。
    Hive:数据仓库基础设施,提供数据汇总以及特定的查询。
    Mahout:一种可扩展的机器学习和数据挖掘库。
    Pig:一个高层次的数据流并行计算语言和执行框架。
    Spark:Hadoop 数据的快速和通用计算引擎。Spark 提供了简单和强大的编程模型用以支持广泛的应用,其中包括 ETL、机器学习、流处理和图形计算。
    ZooKeeper:一个高性能的分布式应用程序协调服务。

Hadoop三大发行版

(1) Apache Hadoop

Apache Hadoop最原始版本,所有其他发行版均基于该发行版实现的。

官网地址http://hadoop.apache.org/,Logo如下

这里写图片描述

    0.23.x :非稳定版
    2.x :最新版是2.8.0,建议使用2.7.3稳定版。

    3.0:已发行多个测试版,正式稳定版尚未发布

    (2)CDH
    CDH(Cloudera’s Distribution for Hadoop)是Cloudera 公司的的Hadoop 发行版。

官方是https://www.cloudera.com/,Logo如下。



包含CDH4 和CDH5 两个版本
CDH4 ;基于Apache Hadoop 0.23.0 版本开发
CDH5 :基于Apache Hadoop 2.2.0 版本开发

(3)HDP

HDP(The Hortonworks Data Platform)是Hortonworks 公司的发行版。

官网地址是https://hortonworks.com/,Logo如下。


(4) 发行版选择
- 作为学习,建议选择Apache Hadoop最新的稳定版;
- 作为工作(生产环境),建议选择CDH或HDP稳定版。

(5) 不同发行版兼容性

架构、部署和使用方法一致,不同之处仅在若干内部实现。

原文地址:https://www.cnblogs.com/mtime2004/p/9996413.html