欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Hadoop简单介绍

程序员文章站 2022-04-13 20:11:10
...

Hadoop简单介绍 一、Hadoop要解决的两个问题: 首先我们撇开Hadoop的历史、概念,我们先了解Hadoop是用来干啥的。 Hadoop解决两个问题: 1.海量数据存储 HDFS 2.海量的数据分析 MapReduce 二、Hadoop历史: 2002年的apache项目Nutch 2003年Google发表了关于G

Hadoop简单介绍

一、Hadoop要解决的两个问题:

首先我们撇开Hadoop的历史、概念,我们先了解Hadoop是用来干啥的。

Hadoop解决两个问题:

1.海量数据存储 HDFS

2.海量的数据分析 MapReduce

二、Hadoop历史:

2002年的apache项目Nutch

2003年Google发表了关于GFS的论文

2004年Nutch的开发者开发了NDFS

2004年Google发表了关于MapReduce的论文

2005年MapR被引入了NDFS

2006年改名为Hadoop,NDFS创始人加入了yahoo,yahoo成立了一个专门的小组发展Hadoop

三、学习Hadoop的目的:

Hadoop是IT行业一个新的热点,是云计算的一个具体实现

Hadoop本身具有很高的技术含量,是IT工程师学习的首选

四、HDFS设计目标:

1.Very large files

2.Streaming data access

write-once read-many-times

3.Commodity hardware

五、Hadoop不适合的场景:

1.low-latency data access

2.Lots of small files

3.Multiple writers,arbitrary file modifications

六、HDFS架构:

(1)假设有一个 600G的文件a.txt,由于我们的Hadoop默认一个块的大小是64M,故将这600G文件以64M为一块分别存储到所有的集群的主机上,这样我们的读取速度将会大大提高。

(2)同一个文件块在不同的节点中有多个副本,这样当集群里某一文件块损坏或者数据丢失时,会在另外一个节点得到补充。另外这些副本和原本都是在一个配置文件里配置的,Hadoop会根据配置信息自动寻找备份的内容块。

(3)刚刚我们提到的配置文件,我们需要一个集中的地方保存文件的分块信息:

/home/asdf/a.txt.part1,3,(dm1,dm2,dm3)

/home/asdf/a.txt.part2,3,(dm2,dm3,dm4)

/home/asdf/a.txt.part3,3,(dm6,dm11,dm28)

这里边的3是指加上备份有三份。

(4)Block:一个文件分块,默认64M

NameNode:保存整个文件系统的目录信息,文件信息以及文件相应的分块信息。

DataNode:用于存储Blocks

HDFS的HA策略:NameNode一旦宕机,整个文件系统将无法工作。 如果NameNode中的数据丢失,整个文件系统也就丢失了。 2.x开始,HDFS支持NameNode的active-standy模式。