Hadoop思想之源:Google
面对的数据和计算难题
——大量的网页怎么存储
——搜索算法
带给我们的关键技术和思想(Google三篇论文)
——GFS(hdfs)
——Map-Reduce
——Bigtable
Hadoop创始人介绍:
Hadoop作者Doug cutting,就职Yahoo期间开发了Hadoop项目,目前在CLoudera公司从事架构工作。他不但是Hadoop项目的发起人,还是Lucene、Nutch项目的发起人。
Hadoop简介:
——名字来源于Hadoop之父Doug Cutting儿子的玩具大象。
2003-2004年,Google公开了部分GFS和Mapreduce思想的细节,以此为基础Doug Cutting等人用了2年业余时间实现了DFS和Mapreduce机制,一个微缩版:Nutch。
Hadoop于2005年秋天作为Lucene的子项目Nutch的一部分正式引入Apache基金会。2006年3月份,Map-Reduce和Nutch Distributed File System(NDFS)分别被纳入成为Hadoop的项目中。
——分布式存储系统HDFS(Hadoop Distributed File System)
-
- 分布式存储系统;
- 提供了:高可靠性、高扩展性和高吞吐率的数据存储服务;
——分布式计算框架Map-Reduce
-
- 分布式计算框架
- 具有易于编程、高容错性和高扩展性等优点。
HDFS优点:
- 高容错性:
-
- 数据自动保存多个副本
- 副本丢失后,自动恢复(最少保留三份)
- 高可靠性
-
- Hadoop按位存储和处理数据的能力值得人们信赖
- 高扩展性
-
- Hadoop是在可用的计算机集簇间分配数据并完成计算任务,这些集簇可以方便地扩展到数以千计的节点中
- 高效性:
-
- Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快
- 适合批处理:
-
- 移动计算而非数据移动
- 数据位置暴露给计算框架
- 适合大数据处理:
-
- GB、TB、甚至PB级数据
- 百万规模以上的文件数量
- 10K+节点
- 可构建在廉价机器上:
-
- 通过多副本提高可靠性
- 提供了容错和回复机制
HDFS缺点:
- 不适合低延迟数据访问:
-
- 比如毫秒级
- 低延迟于高吞吐率
- 不适合小文件存取:
-
- 占用NameNode大量内存
- 寻道时间超过读取时间
- 不支持并发写入、文件随机修改:
-
- 一个文件只能有一个写者,不支持多用户写入及任意修改文件
- 仅支持append(数据追加)