HDFS
基于Google GFS的论文
提供冗余数据存储
数据被分散到整个集群
一次写入,多次读取
HDFS基于现有文件系统之上的
文件的存储单位为Block,默认64MB一块,每个块默认保存3份
NN
NameNode主要功能提供名称查询服务,它是一个jetty服务器
NameNode保存metadate信息包括
文件owership和permissions
文件包含哪些块
Block保存在哪个DataNode(由DataNode启动时上报)
NameNode的metadate信息在启动后会加载到内存
metadata存储到磁盘文件名为”fsimage”
Block的位置信息不会保存到fsimage
DN
保存Block
启动DN线程的时候会向NN汇报block信息
通过向NN发送心跳保持与其联系(3秒一次),如果NN 10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN
Block的副本放置策略
第一个副本:放置在上传文件的DN;如果是集群外提交,则随机挑选一台磁盘不太满,CPU不太忙的节点
第二个副本:放置在于第一个副本不同的机架的节点上
第三个副本:与第二个副本相同集群的节点
更多副本:随机节点
Block
设置一个Block 64MB,如果上传文件小于该值,仍然会占用一个Block的命名空间(NameNode metadata),但是物理存储上不会占用64MB的空间
Block大小和副本数由Client端上传文件到HDFS时设置,其中副本数可以变更,Block是不可以再上传后变更的
HDFS 文件权限
与Linux文件权限类似
r: read; w:write; x:execute,权限x对于文件忽略,对于文件夹表示是否允许访问其内容
如果Linux系统用户zhangsan使用hadoop命令创建一个文件,那么这个文件在HDFS中owner就是zhangsan
HDFS的权限目的:阻止好人错错事,而不是阻止坏人做坏事。HDFS相信,你告诉我你是谁,我就认为你是谁
三种运行模式
单机版
所有的程序(NN JT DN TT)运行于同一个JVM中,HDFS为本地文件系统
伪分布式
所有的程序运行于同一台机器的独立JVM中
分布式
不同程序运行于不同节点中,通常Master运行NN和JT,Slave机器运行DN和TT
分享到:
相关推荐
Hadoop学习笔记,自己总结的一些Hadoop学习笔记,比较简单。
Hadoop 学习笔记.md
**Hadoop学习笔记详解** Hadoop是一个开源的分布式计算框架,由Apache基金会开发,主要用于处理和存储海量数据。它的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce,两者构成了大数据处理的基础...
二、Hadoop学习笔记之五:使用Eclipse插件 Eclipse插件是开发Hadoop应用的重要工具,它提供了集成的开发环境,使得开发者可以更方便地编写、调试和运行Hadoop程序。通过插件,用户可以创建Hadoop项目,编写MapReduce...
Hadoop是一个开源框架,用于存储和处理大型数据集。由Apache软件基金会开发,Hadoop已经成为大数据处理事实上的标准。它特别适合于存储非结构化和半结构化数据,并且能够存储和运行在廉价硬件之上。Hadoop具有高可靠...
云计算,hadoop,学习笔记, dd
我学习hadoop的笔记,并在公司做的报告,给大家共享下
【HADOOP学习笔记】 Hadoop是Apache基金会开发的一个开源分布式计算框架,是云计算领域的重要组成部分,尤其在大数据处理方面有着广泛的应用。本学习笔记将深入探讨Hadoop的核心组件、架构以及如何搭建云计算平台。...
在本篇"Hadoop学习笔记(三)"中,我们将探讨如何使用Hadoop的MapReduce框架来解决一个常见的问题——从大量数据中找出最大值。这个问题与SQL中的`SELECT MAX(NUMBER) FROM TABLE`查询相似,但在这里我们通过编程...
在初学者的角度,理解Hadoop的组成部分以及其架构设计是学习Hadoop的基础。 首先,Hadoop的分布式文件系统(HDFS)是其核心组件之一,它具有高吞吐量的数据访问能力,非常适合大规模数据集的存储和处理。HDFS的设计...
"Hadoop学习笔记整理" 本篇笔记对Hadoop进行了系统的介绍和总结,从大数据的基本流程到Hadoop的发展史、特性、集群整体概述、配置文件、HDFS分布式文件系统等方面都进行了详细的讲解。 一、大数据分析的基本流程 ...
这是自己学习大数据时整理的笔记,希望能够不使用资源分,免费分享!
hadoop学习笔记,分天学习,原创,亲测,放心使用,没问题。
《深入理解Hadoop分布式系统》 ...Hadoop的学习是一个逐步深入的过程,涵盖分布式存储、计算模型、资源调度等多个方面,理解其工作原理和最佳实践,对于在大数据环境中构建高效稳定的系统至关重要。