个性化阅读
专注于IT技术分析

什么是Hadoop

本文概述

Hadoop是Apache的开源框架, 用于存储过程和分析大量数据。 Hadoop是用Java编写的, 不是OLAP(在线分析处理)。它用于批处理/脱机处理.Facebook, Yahoo, Google, Twitter, LinkedIn等使用它。此外, 仅通过在集群中添加节点就可以扩大规模。

Hadoop的模块

  1. HDFS:Hadoop分布式文件系统。 Google发表了论文GFS, 并在此基础上开发了HDFS。它指出文件将被分解成块, 并存储在分布式体系结构的节点中。
  2. 纱线:另一个资源协商器用于作业调度和管理集群。
  3. Map Reduce:这是一个框架, 可以帮助Java程序使用键值对对数据进行并行计算。 Map任务将输入数据转换为可以在键值对中计算的数据集。 Map任务的输出被reduce任务消耗, 然后out of reducer提供所需的结果。
  4. Hadoop Common:这些Java库用于启动Hadoop, 并由其他Hadoop模块使用。

Hadoop架构

Hadoop体系结构是文件系统, MapReduce引擎和HDFS(Hadoop分布式文件系统)的软件包。 MapReduce引擎可以是MapReduce / MR1或YARN / MR2。

Hadoop集群由一个主节点和多个从节点组成。主节点包括作业跟踪器, 任务跟踪器, NameNode和DataNode, 而从属节点包括DataNode和TaskTracker。

Hadoop架构

Hadoop分布式文件系统

Hadoop分布式文件系统(HDFS)是Hadoop的分布式文件系统。它包含一个主/从体系结构。此体系结构由单个NameNode充当主角色, 而多个DataNode充当从属角色。

NameNode和DataNode都具有足够的能力在商用机器上运行。 Java语言用于开发HDFS。因此, 任何支持Java语言的机器都可以轻松运行NameNode和DataNode软件。

名称节点

  • 它是HDFS群集中存在的单个主服务器。
  • 由于它是一个单节点, 因此可能成为单点故障的原因。
  • 它通过执行诸如打开, 重命名和关闭文件之类的操作来管理文件系统名称空间。
  • 它简化了系统的体系结构。

数据管理部

  • HDFS群集包含多个DataNode。
  • 每个DataNode包含多个数据块。
  • 这些数据块用于存储数据。
  • DataNode负责读取和写入来自文件系统客户端的请求。
  • 它根据NameNode的指令执行块创建, 删除和复制。

工作追踪

  • Job Tracker的作用是从客户端接受MapReduce作业, 并使用NameNode处理数据。
  • 作为响应, NameNode将元数据提供给Job Tracker。

任务追踪器

  • 它充当Job Tracker的从节点。
  • 它从Job Tracker接收任务和代码, 并将该代码应用于文件。此过程也可以称为映射器。

MapReduce图层

当客户端应用程序将MapReduce作业提交给Job Tracker时, MapReduce便存在了。作为响应, 作业跟踪程序将请求发送到适当的任务跟踪程序。有时, TaskTracker失败或超时。在这种情况下, 将重新安排该部分工作。

Hadoop的优势

  • 快速:在HDFS中, 数据分布在群集上并被映射, 这有助于更快地进行检索。即使是用于处理数据的工具也经常位于同一服务器上, 从而减少了处理时间。它能够在数分钟内处理数TB的数据, 并在数小时内处理Peta字节。
  • 可扩展:只需在集群中添加节点即可扩展Hadoop集群。
  • 具有成本效益:Hadoop是开放源代码, 并使用商品硬件存储数据, 因此与传统的关系数据库管理系统相比, 它确实具有成本效益。
  • 容错能力强:HDFS具有可以通过网络复制数据的属性, 因此, 如果一个节点出现故障或其他网络出现故障, 则Hadoop将获取另一份数据副本并使用它。通常, 数据被复制三次, 但是复制因子是可配置的。

Hadoop的历史

Hadoop由Doug Cutting和Mike Cafarella于2002年创立。其起源是Google发布的Google文件系统论文。

Hadoop的历史

让我们通过以下步骤关注Hadoop的历史:-

  • 在2002年, Doug Cutting和Mike Cafarella开始致力于Apache Nutch这个项目。这是一个开放源代码的Web爬虫软件项目。
  • 在研究Apache Nutch时, 他们正在处理大数据。为了存储这些数据, 他们必须花费大量成本, 这成为该项目的结果。这个问题成为Hadoop出现的重要原因之一。
  • Google在2003年推出了一种称为GFS(Google文件系统)的文件系统。它是专有的分布式文件系统, 旨在提供对数据的有效访问。
  • 2004年, Google发布了有关Map Reduce的白皮书。此技术简化了大型群集上的数据处理。
  • 在2005年, Doug Cutting和Mike Cafarella引入了一种新的文件系统, 称为NDFS(Nutch分布式文件系统)。该文件系统还包括Map reduce。
  • 2006年, 道格·切特(Doug Cutting)退出了Google, 并加入了雅虎。在Nutch项目的基础上, Dough Cutting引入了一个新项目Hadoop, 其文件系统称为HDFS(Hadoop分布式文件系统)。 Hadoop于今年发布了第一个版本0.1.0。
  • 道格·切特(Doug Cutting)以儿子的玩具大象命名为Hadoop项目。
  • 2007年, 雅虎运行着两个由1000台计算机组成的集群。
  • 在2008年, Hadoop成为最快的系统, 可在209秒内对900节点集群上的1 TB数据进行排序。
  • 2013年, Hadoop 2.2发布了。
  • 在2017年, Hadoop 3.0发布了。
事件
2003 谷歌发布了论文, 谷歌文件系统(GFS)。
2004 Google发布了有关Map Reduce的白皮书。
2006 引入了Hadoop。 Hadoop 0.1.0发布。雅虎部署了300台计算机, 到今年将达到600台计算机。
2007 雅虎运行着2个1000台机器的集群。 Hadoop包含HBase。
2008 YARN JIRA打开后, Hadoop成为最快的系统, 可在209秒内对900节点集群上的1 TB数据进行排序。 Yahoo群集每天加载10 TB数据。 Cloudera成立时是Hadoop发行商。
2009 雅虎运行着17个集群, 共24, 000台计算机。 Hadoop具有足够的能力来分类PB。 MapReduce和HDFS成为单独的子项目。
2010 Hadoop添加了对Kerberos的支持。 Hadoop拥有40个PB的4, 000个节点。 Apache Hive和Pig发行了。
2011 Apache Zookeeper发布了。雅虎拥有42, 000个Hadoop节点和数百PB的存储。
2012 Apache Hadoop 1.0版本发布。
2013 Apache Hadoop 2.2版本发布。
2014 Apache Hadoop 2.6版本发布。
2015 Apache Hadoop 2.7版本发布。
2017 Apache Hadoop 3.0版本已发布。
2018 Apache Hadoop 3.1版本已发布。
赞(0)
未经允许不得转载:srcmini » 什么是Hadoop

评论 抢沙发

评论前必须登录!