乐趣区

关于分布式:浅析大数据框架-Hadoop~

作者:幻好

起源:恒生 LIGHT 云社区

Hadoop 概念及其倒退

Hadoop 最早起源于 Nutch。Nutch 的设计指标是构建一个大型的全网搜索引擎,包含网页抓取、索引、查问等性能,但随着抓取网页数量的减少,遇到了重大的可扩展性问题——如何解决数十亿网页的存储和索引问题。

2003 年、2004 年谷歌发表的两篇论文为该问题提供了可行的解决方案。

  • 分布式文件系统(GFS),可用于解决海量网页的存储。
  • 分布式计算框架 MAPREDUCE,可用于解决海量网页的索引计算问题。

Nutch 的开发人员实现了相应的开源实现 HDFS 和 MAPREDUCE,并从 Nutch 中剥离成为独立我的项目 HADOOP,到 2008 年 1 月,HADOOP 成为 Apache 顶级我的项目 (同年,cloudera 公司成立),迎来了它的疾速发展期。

  • 狭义上来说,Hadoop 指代大数据的一个生态圈,包含很多其余的软件。
  • 广义上来说,Hadoop 就是独自指代 Hadoop 这个软件。

Hadoop 的历史版本介绍

0.x 系列版本:hadoop 当中最早的一个开源版本,国外应用较多,因为过后国内大数据还没倒退起来,在此基础上演变而来的 1.x 以及 2.x 的版本

1.x 版本系列:hadoop 版本当中的第二代开源版本,次要修复 0.x 版本的一些 bug 等,是存在工夫最短的一代。

2.x 版本系列:架构产生重大变动,引入了 yarn 平台等许多新个性,国内目前应用最多的版本,因为过后国内正处于大数据暴发的阶段。

3.x 版本系列:引入了一些重要的性能和优化,包含 HDFS 纠删码、多 Namenode 反对 (两个以上)、MR Native Task 优化、YARN 基于 cgroup 的内存和磁盘 IO 隔离等,且对 JDK 最低版本要求为 JDK1.8。发行工夫较晚,目前应用不多,但将来必将成为支流。

hadoop 三大公司发型版本介绍

- 收费开源版本 apache

官网:http://hadoop.apache.org/

长处:领有全世界的开源贡献者,代码更新迭代版本比拟快

毛病:版本的降级,版本的保护,版本的兼容性,版本的补丁都可能思考不太周到,学习能够用,理论生产工作环境尽量不要应用

apache 所有软件的下载地址(包含各种历史版本):

http://archive.apache.org/dist/

- 收费开源 hortonWorks

官网:https://hortonworks.com/

hortonworks 次要是雅虎主导 Hadoop 开发的副总裁,率领二十几个核心成员成立 Hortonworks,外围产品软件 HDP(ambari),HDF 收费开源,并且提供一整套的 web 治理界面,供咱们能够通过 web 界面治理咱们的集群状态,web 治理界面软件 HDF 网址(http://ambari.apache.org/)

- 软件免费版本 ClouderaManager

官网:https://www.cloudera.com/

cloudera 次要是美国一家大数据公司在 apache 开源 hadoop 的版本上,通过本人公司外部的各种补丁,实现版本之间的稳固运行,大数据生态圈的各个版本的软件都提供了对应的版本,解决了版本的降级艰难,版本兼容性等各种问题

Hadoop 的模块组成

  1. Hadoop HDFS:一个高牢靠、高吞吐量的分布式文件系统。
  2. Hadoop MapReduce:一个分布式的离线并行计算框架。
  3. Hadoop YARN:作业调度与集群资源管理的框架。
  4. Hadoop Common:反对其余模块的工具模块。

Hadoop 的架构模型

NameNode 与 ResourceManager 单节点架构模型

文件系统外围模块:

  • NameNode:集群当中的主节点,次要用于治理集群当中的各种数据
  • secondaryNameNode:次要能用于 hadoop 当中元数据信息的辅助治理
  • DataNode:集群当中的从节点,次要用于存储集群当中的各种数据

数据计算外围模块:

  • ResourceManager:接管用户的计算申请工作,并负责集群的资源分配
  • NodeManager:次要用于接管 applicationMaster 调配的工作
  • applicationMaster: resourcemanager 为每个计算工作启动一个 appMaster, appMatser 次要负责资源的申请, 工作的调配
  • NameNode 与 ResourceManager 高可用架构模型

文件系统外围模块:

  • NameNode:集群当中的主节点,次要用于治理集群当中的各种数据,个别都是应用两个,实现 HA 高可用
  • JournalNode:元数据信息管理过程,个别都是奇数个
  • DataNode:从节点,用于数据的存储

数据计算外围模块:

  • ResourceManager:Yarn 平台的主节点,次要用于接管各种工作,通过两个,构建成高可用
  • NodeManager:Yarn 平台的从节点,次要用于解决 ResourceManager 调配的工作

Hadoop 目前的现状

自 2015 年开始 Hadoop 暴露出诸多问题引起留神。随后 Gartner、IDG 等公司分析师、Hadoop 用户和 Hadoop 和大数据圈内人士越来越多的反映出各种问题。

究其原因,次要如下:

  • Hadoop 栈过于简单,组件泛滥,集成艰难,玩转代价过高
  • Hadoop 翻新速度不够(或者说终点过低),且不足对立的理念和管控,使得其泛滥组件之间的集成非常复杂
  • 受到 Cloud 技术的冲击,特地是类 S3 对象存储提供了比 HDFS 更便宜、更易用、更可伸缩的存储,撬动了 Hadoop 的根基 HDFS
  • 对 Hadoop 冀望过高,Hadoop 发迹于便宜存储和批处理,而人们冀望 Hadoop 搞定大数据所有问题,冀望不匹配造成满意度很低
  • 人才低廉,且人才匮乏

总结

综上,作为第一代大数据计划的 Hadoop 巅峰已过,大数据进入第二代:分布式数据库。

分布式数据库特地是 MPP 数据库曾经很好的解决了大数据根本剖析层面的问题,将来继续向着更易用更快的方向倒退。

高级数据分析向着下沉到数据库外部的方向倒退。高级数据分析层面的难点不在剖析,而在于数据自身的数量和品质。期待这一方面有更多翻新涌现。

退出移动版