Hadoop是处理、存储和分析大量分布式、非结构化数据的开源框架。 最初是雅虎的工程师Doug Cutting和Mike Cafarella于2005年共同开发的。 之后,Hadoop为Apache基金会做出了贡献,成为了Apache基金会的开源项目。
Hadoop系统概述
Hadoop是一个分析和处理大数据的软件平台,是用Java语言实现的Apache开源软件框架,在由大量计算机组成的集群中实现了大量数据的分布式计算
Hadoop采用MapReduce分布式计算框架,基于GFS原理开发了HDFS (分布式文件系统),基于BigTable原理开发了HBase数据存储系统。
Hadoop和谷歌内部使用的分布式计算系统原理相同,开源特性已成为分布式计算系统事实上的国际标准。
雅虎、脸书、亚马逊,以及国内百度、阿里巴巴等多家互联网公司以Hadoop为基础构建了自己的分布式计算系统。
Hadoop是一个基础框架,允许使用简单的编程模型在计算机集群上分布式处理大型数据集。 其设计规模从单一服务器到数千台机器,每台服务器都可以提供本地计算和存储功能,框架本身提供计算机集群的高可用性服务,不依赖硬件提供高可用性。
用户可以轻松地开发和运行在Hadoop中处理大量数据的APP,而无需了解分布式的基础细节。 由于低成本、高可靠性、高扩展性、高效率、高容错性等特性,hadoop成为最受欢迎的大数据分析系统。
我想在大数据这个领域吸收养分,使自己成长很大。 分享方向,行动之前分享下一次大数据交流分享资源群,想学习,想转行,欢迎你在进阶中参与学习。
Hadoop生态圈
Hadoop是由Apache基金会开发的大数据分布式系统基础架构。 用户不知道分布式的基础细节,就可以轻松开发和运行在Hadoop中处理大数据的分布式程序,充分利用集群的威力进行高速运算和存储。
Hadoop是数据分析的核心,是一个将结构化数据和非结构化数据集合在一起的数据管理系统,这些数据分布在传统企业数据堆栈的各层。
Hadoop也是一个大型并行处理框架,具有超级计算能力,重点是推动企业APP的执行。
Hadoop还是广源社区,主要提供解决大数据问题的工具和软件。
虽然Hadoop提供了许多功能,但必须将其分类为由多个组件组成的Hadoop生态圈,包括数据存储、数据整合、调配处理和其他数据分析专用工具。
图1显示了Hadoop的生态系统。 主要由HDFS、MapReduce、HBase、Zookeeper、Pig、Hive等核心组件构成,还包含用于与其他企业系统融合的Sqoop、Flume等框架。 同时,Hadoop生态系统也在增加,通过添加Mdhout、Ambari等内容提供更新功能。
图1 Hadoop的生态系统
Hadoop生态圈包括以下主要组件:
1 ) HDFS
获取高可用性APP数据的分布式文件系统。
2 ) MapReduce
并行处理大型数据集的编程模型。
3 ) h基座
可扩展的分布式数据库,支持大型表的结构化数据存储。 构建在HDFS之上的面向列的NoSQL数据库,用于快速读写大量数据。
4 ) Hive
构建在Hadoop上的数据仓库基础架构。 提供一系列工具。可用于数据提取、转换和加载(ETL )。 这是一种可以存储、查询和分析存储在Hadoop中的大数据的机制。
Hive定义一种简单的类SQL查询语言,称为HQL,允许不熟悉MapReduce的开发人员编写数据查询语句。 然后,这些语句被翻译成Hadoop上面的MapReduce任务。
5 ) Mahout
>可扩展的机器学习和数据挖掘库。它提供的 MapReduce 包含很多实现方法,包括聚类算法、回归测试、统计建模。6)Pig
一个支持并行计算的高级的数据流语言和执行框架。它是 MapReduce 编程的复杂性的抽象。Pig 平台包括运行环境和用于分析 Hadoop 数据集的脚本语言(PigLatin)。其编译器将 PigLatin 翻译成 MapReduce 程序序列。
7)Zookeeper
—个应用于分布式应用的高性能的协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括配置维护、域名服务、分布式同步、组服务等。
8)Amban
一个基于 Web 的工具,用来供应、管理和监测 Hadoop 集群,包括支持 HDFS、MapReduceAHive、HCatalog、HBase、ZooKeeperAOozie、Pig 和 Sqoop 。
Ambari 也提供了一个可视的仪表盘来查看集群的健康状态,并且能够使用户可视化地查看 MapReduce、Pig 和 Hive 应用来诊断其性能特征。
Hadoop 的生态圈还包括以下几个框架,用来与其他企业融合。
1)Sqoop
一个连接工具,用于在关系数据库、数据仓库和 Hadoop 之间转移数据。Sqoop 利用数据库技术描述架构,进行数据的导入/导出;利用 MapReduce 实现并行化运行和容错技术。
2)Flume
提供了分布式、可靠、高效的服务,用于收集、汇总大数据,并将单台计算机的大量数据转移到 HDFS。它基于一个简单而灵活的架构,并提供了数据流的流。它利用简单的可扩展的数据模型,将企业中多台计算机上的数据转移到 Hadoop。
Hadoop版本演进
当前 Hadoop 有两大版本:Hadoop 1.0 和 Hadoop 2.0,如图 2 所示。Hadoop 1.0 被称为第一代 Hadoop,由 HDFS 和 MapReduce 组成。
HDFS 由一个 NameNode 和多个 DataNode 组成,MapReduce 由一个 JobTracker 和多个 TaskTracker 组成。
Hadoop 1.0 对应的 Hadoop 版本为0.20.x、0.21.x、 0.22.x 和 Hadoop 1.x。其中,0.20.x 是比较稳定的版本,它最后演化为 1.x,变成稳定版本。0.21.x 和 0.22.x 则增加了 NameNode HA 等新特性。
图 2 Hadoop 版本演进图
Hadoop 2.0 被称为第二代 Hadoop,是为克服 Hadoop 1.0 中 HDFS 和 MapReduce 存在的各种问题而提出的,对应的 Hadoop 版本为 0.23.x 和 2.x。
针对 Hadoop 1.0 中 NameNode HA 不支持自动切换且切换时间过长的风险,Hadoop2.0 提出了基于共享存储的 HA 方式,该方式支持失败自动切换切回。
针对 Hadoop 1.0 中的单 NameNode 制约 HDFS 扩展性的问题,Hadoop 2.0 提出了 HDFS Federation 机制,它允许多个 NameNode 各自分管不同的命名空间,进而实现数据访问隔离和集群横向扩展。
针对 Hadoop 1.0 中的 MapReduce 在扩展性和多框架支持方面的不足,Hadoop 2.0 提出了全新的资源管理框架 YARN,它将 JobTracker 中的资源管理和作业控制功能分开,分别由组件 ResourceManager 和 ApplicationMaster 实现。
其中,ResourceManager 负责所有应用程序的资源分配,而 ApplicationMaster 仅负责管理一个应用程序。相比于 Hadoop 1.0,Hadoop 2.0 框架具有更好的扩展性、可用性、可靠性、向后兼容性和更高的资源利用率,Hadoop 2.0 还能支持除 MapReduce 计算框架以外的更多的计算框架,Hadoop2.0 是目前业界主流使用的 Hadoop 版本。
Hadoop 发行版本
虽然 Hadoop 是开源的 Apache 项目,但是在 Hadoop 行业,仍然出现了大量的新兴公司,它们以帮助人们更方便地使用 Hadoop 为目标。这些企业大多将 Hadoop 发行版进行打包、改进,以确保所有的软件一起工作。
Hadoop 的发行版除了社区的 Apache Hadoop 外,Cloudera、Hortonworks、MapR、EMC、IBM、INTEL、华为等都提供了自己的商业版本。商业版本主要是提供专业的技术支持,这对一些大型企业尤其重要。每个发行版都有自己的一些特点,本节就 3 个主要的发行版本做简单介绍。
2008 年成立的 Cloudera 是最早将 Hadoop 商用的公司,它为合作伙伴提供 Hadoop 的商用解决方案,主要包括支持、咨询服务和培训。Cloudera 的产品主要为 CDH、Cloudera Manager 和 Cloudera Support。CDH 是 Cloudem 的 Hadoop 发行版本,完全开源,比 Hadoop 在兼容性、安全性、稳定性上有所增强。
Cloudera Manager 是集群的软件分发及管理监控平台,可以在几个小时內部署好一个 Hadoop 集群,并对集群的结点及服务进行实时监控。Cloudera Support 即是对 Hadoop 的技术支持。
2011 年成立的 Hortonworks 是 Yahoo 与硅谷风投公司 Benchmark Capital 合资组建的公司。公司成立之初吸纳了大约 25 名至 30 名专门研究 Hadoop 的 Yahoo 工程师,上述工程师均在 2005 年开始协助 Yahoo 开发 Hadoop,这些工程师贡献了 Hadoop 80% 的代码。
Hortonworks的主打产品是Hortonworks DataPlatform(HDP),也同样是 100% 开源的产品。HDP 除了常见的项目外,还包含了一款开源的安装和管理系统(Amban)。
Cloudera 和 Hortonworks 均是通过不断提交代码来完善 Hadoop 的,而 2009 年成立的 MapR 公司在 Hadoop 领域显得有些特立独行,它提供了一款独特的发行版本。
MapR 认为 Hadoop 的代码只是参考,可以基于 Hadoop 提供的 API 来实现自己的需求。这种方法使得 MapR 做出了很大的创新,特别是在 HDFS 和 HBase 方面,MapR 让这两个基本的 Hadoop 的存储机制更加可靠、更加高性能。
MapR 还推出了高速网络文件系统(NFS)来访问 HDFS,从而大大简化了一些企业级应用的集成。
MapR 用新架构重写 HDFS,同时在 API 级别,和目前的 Hadoop 发行版本保持兼容。MapR 构建了一个 HDFS 的私有替代品,比开源版本快 3 倍,自带快照功能,而且支持无 NameNode 单点故障。
MapR 版本不再需要单独的 NameNode 机器,元数据分散在集群中,类似数据默认存储 3 份,不再需要用 NAS 来协助 NameNode 做元数据备份,提高了机器使用率。
MapR 还有一个重要的特点是可以使用 NFS 直接访问 HDFS,提供了与原有应用的兼容性。MapR 的镜像功能很适合做数据备份,而且支持跨数据中心的镜像。
飞艇如何买前5后5名空间,进而实现数据访问隔离和集群横向扩展。针对 Hadoop 1.0 中的 MapReduce 在扩展性和多框架支持方面的不足,Hadoop 2.0 提出了全新的资源管理框架 YARN,它将 JobTracker 中的资源管理和作业控制功能分开,分别由组件 ResourceManager 和 ApplicationMaster 实现。
其中,ResourceManager 负责所有应用程序的资源分配,而 ApplicationMaster 仅负责管理一个应用程序。相比于 Hadoop 1.0,Hadoop 2.0 框架具有更好的扩展性、可用性、可靠性、向后兼容性和更高的资源利用率,Hadoop 2.0 还能支持除 MapReduce 计算框架以外的更多的计算框架,Hadoop2.0 是目前业界主流使用的 Hadoop 版本。
Hadoop 发行版本
虽然 Hadoop 是开源的 Apache 项目,但是在 Hadoop 行业,仍然出现了大量的新兴公司,它们以帮助人们更方便地使用 Hadoop 为目标。这些企业大多将 Hadoop 发行版进行打包、改进,以确保所有的软件一起工作。
Hadoop 的发行版除了社区的 Apache Hadoop 外,Cloudera、Hortonworks、MapR、EMC、IBM、INTEL、华为等都提供了自己的商业版本。商业版本主要是提供专业的技术支持,这对一些大型企业尤其重要。每个发行版都有自己的一些特点,本节就 3 个主要的发行版本做简单介绍。
2008 年成立的 Cloudera 是最早将 Hadoop 商用的公司,它为合作伙伴提供 Hadoop 的商用解决方案,主要包括支持、咨询服务和培训。Cloudera 的产品主要为 CDH、Cloudera Manager 和 Cloudera Support。CDH 是 Cloudem 的 Hadoop 发行版本,完全开源,比 Hadoop 在兼容性、安全性、稳定性上有所增强。
Cloudera Manager 是集群的软件分发及管理监控平台,可以在几个小时內部署好一个 Hadoop 集群,并对集群的结点及服务进行实时监控。Cloudera Support 即是对 Hadoop 的技术支持。
2011 年成立的 Hortonworks 是 Yahoo 与硅谷风投公司 Benchmark Capital 合资组建的公司。公司成立之初吸纳了大约 25 名至 30 名专门研究 Hadoop 的 Yahoo 工程师,上述工程师均在 2005 年开始协助 Yahoo 开发 Hadoop,这些工程师贡献了 Hadoop 80% 的代码。
Hortonworks的主打产品是Hortonworks DataPlatform(HDP),也同样是 100% 开源的产品。HDP 除了常见的项目外,还包含了一款开源的安装和管理系统(Amban)。
Cloudera 和 Hortonworks 均是通过不断提交代码来完善 Hadoop 的,而 2009 年成立的 MapR 公司在 Hadoop 领域显得有些特立独行,它提供了一款独特的发行版本。
MapR 认为 Hadoop 的代码只是参考,可以基于 Hadoop 提供的 API 来实现自己的需求。这种方法使得 MapR 做出了很大的创新,特别是在 HDFS 和 HBase 方面,MapR 让这两个基本的 Hadoop 的存储机制更加可靠、更加高性能。
MapR 还推出了高速网络文件系统(NFS)来访问 HDFS,从而大大简化了一些企业级应用的集成。
MapR 用新架构重写 HDFS,同时在 API 级别,和目前的 Hadoop 发行版本保持兼容。MapR 构建了一个 HDFS 的私有替代品,比开源版本快 3 倍,自带快照功能,而且支持无 NameNode 单点故障。
MapR 版本不再需要单独的 NameNode 机器,元数据分散在集群中,类似数据默认存储 3 份,不再需要用 NAS 来协助 NameNode 做元数据备份,提高了机器使用率。
MapR 还有一个重要的特点是可以使用 NFS 直接访问 HDFS,提供了与原有应用的兼容性。MapR 的镜像功能很适合做数据备份,而且支持跨数据中心的镜像。
【感谢龙石为本站提供api管理平台 http://www.longshidata.com/pages/apigateway.html】