本文概述
- Hadoop的模块
- Hadoop架构
- Hadoop分布式文件系统
- MapReduce图层
- Hadoop的优势
- Hadoop的历史
Hadoop的模块
- HDFS:Hadoop分布式文件系统。 Google发表了论文GFS, 并在此基础上开发了HDFS。它指出文件将被分解成块, 并存储在分布式体系结构的节点中。
- 纱线:另一个资源协商器用于作业调度和管理集群。
- Map Reduce:这是一个框架, 可以帮助Java程序使用键值对对数据进行并行计算。 Map任务将输入数据转换为可以在键值对中计算的数据集。 Map任务的输出被reduce任务消耗, 然后out of reducer提供所需的结果。
- Hadoop Common:这些Java库用于启动Hadoop, 并由其他Hadoop模块使用。
Hadoop集群由一个主节点和多个从节点组成。主节点包括作业跟踪器, 任务跟踪器, NameNode和DataNode, 而从属节点包括DataNode和TaskTracker。
文章图片
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接收任务和代码, 并将该代码应用于文件。此过程也可以称为映射器。
Hadoop的优势
- 快速:在HDFS中, 数据分布在群集上并被映射, 这有助于更快地进行检索。即使是用于处理数据的工具也经常位于同一服务器上, 从而减少了处理时间。它能够在数分钟内处理数TB的数据, 并在数小时内处理Peta字节。
- 可扩展:只需在集群中添加节点即可扩展Hadoop集群。
- 具有成本效益:Hadoop是开放源代码, 并使用商品硬件存储数据, 因此与传统的关系数据库管理系统相比, 它确实具有成本效益。
- 容错能力强:HDFS具有可以通过网络复制数据的属性, 因此, 如果一个节点出现故障或其他网络出现故障, 则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版本已发布。 |