Hadoop简单介绍
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模式。