Hadoop分布式存储与计算详解

需积分: 20 3 下载量 113 浏览量 更新于2024-08-14 收藏 2.15MB PPT 举报
"储存基本单元-hadoop学习总结2012" 在Hadoop生态系统中,储存基本单元是Block(块),它是HDFS(Hadoop Distributed File System)的核心逻辑存储单位,与操作系统中的页相类似。一个文件可能会跨越多个Block,而一个Block也可能包含来自多个文件的数据。Block的大小可以通过配置参数`dfs.block.size`来设定,默认值为64MB。如果Block设置得过大,可能导致Map任务运行速度减慢;如果设置过小,则可能导致创建过多的Map任务,因此需要根据实际硬件条件和数据规模适当地调整。目前,业界普遍建议将Block大小设置为128MB。 Hadoop作为一个分布式系统基础架构,其主要目标是解决大规模数据处理的问题。它允许开发者在不了解底层分布式细节的情况下编写分布式程序,从而利用集群的计算和存储能力。Hadoop由两个主要组件构成:分布式存储系统HDFS和分布式计算框架MapReduce。 HDFS提供了高可扩展性,无论是存储还是计算,都可以随着硬件资源的增加而扩展。此外,Hadoop设计时考虑到了经济性,因为它的框架能够在普通的PC服务器上运行,降低了硬件成本。为了确保可靠性,HDFS具备备份恢复机制,通过心跳检测、副本策略以及未来的快照功能(尚未实现)来确保数据安全。高效的处理能力则来源于HDFS的数据局部性和MapReduce的并行处理模型。 在Hadoop架构中,Master节点通常包括NameNode和JobTracker。NameNode是文件系统的管理者,维护文件系统的命名空间和文件块的映射信息,同时接收DataNode发送的块信息更新。DataNode是工作节点,负责存储数据并提供数据块的访问服务,定期向NameNode报告其存储状态。JobTracker负责调度和监控整个集群的作业执行,而TaskTracker在Slave节点上运行,执行由JobTracker分配的Map和Reduce任务。 对于超大文件,Hadoop通过Block的概念能够有效地处理,即使单个文件的大小远超过单个Block的大小,HDFS也会自动将其分割成多个Block,并在不同的DataNode上分布存储,确保了大数据量文件的高效管理和处理。 Hadoop的Block机制、HDFS的分布式存储以及MapReduce的并行计算能力,共同构成了处理大规模数据的核心基础。通过灵活的配置和优化,Hadoop能够适应不断增长的数据存储和处理需求,成为大数据时代的关键技术之一。