首页 > 试题广场 >

HDFS中负责数据存储的是

[单选题]
HDFS中负责数据存储的是
  • NameNode
  • DataNode
  • SecondaryNameNode
  • JobTracker
1.Namenode
    是整个文件系统的管理节点。它维护着1.整个文件系统的文件目录树,2.文件/目录的元信息和每个文件对应的数据块列表。3.接收用户的操作请求。
2.Datanode
负责存储数据的,提供真实文件数据的存储服务。
文件块(block):最基本的存储单位。对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个Block。
HDFS默认Block大小是128MB,以一个256MB文件,共有256/128=2个Block. 不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。
发表于 2019-07-17 09:41:28 回复(0)
在Hadoop1.0时代,namenode是哈hdfs的主,负责管理从节点DataNode,通过心跳来确认从节点是否存活,namenode不存数据,只保存元数据,数据存储在DataNode中,同时从节点会默认对数据进行3分备份,数据会存在一个个的block上,1.0block默认大小为64M,2.0  128M。并保存在不同的节点上(机架感知策略),secondarynamenode(ssn)听起来很像是主节点namanode的备份,其实不是,ssn是数据的热备份,是元数据持久化的过程,其实就是为了数据的备份和恢复,但是ssn有一个缺陷,就是他保存元数据并不能完全同步,因此出现故障还是可能丢失一部分数据(1.0)。在Hadoop2.0,hdfs2.0时代,引用了HA(高可用),和zookeeper开进一步保障了数据的安全,namenade也变成了两个active namenode和standby namenode,通过JN来同步数据,保证了active namenode挂点zookeeper可以迅速让standby namenode上位并保证数据的不丢失。同时,Hadoop1.0jobtracker是主节点,就近原则,因此和namenode在一台机器上,负责任务调度和资源分配,1.0的通病,单点故障,因此2.0引入了yarn,将jobtracker的权能进行了拆解
编辑于 2019-07-28 15:56:26 回复(1)

HDFS集群有一个NameNode和一些DataNode。NameNode管理文件系统的元数据,DataNode存储实际的数据。

发表于 2019-07-14 20:59:10 回复(0)