HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。
而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。
HDFS是用java编写的,任何支持java的机器都可以运行名字节点或数据节点,利用java语言的超轻便性,很容易将HDFS部署到大范围的机器上。
大部分的HDFS程序对文件操作需要的是一次写多次读取的操作模式。
HDFS是一个主从结构,一个HDFS集群是由一个名字节点,它是一个管理文件命名空间和调节客户端访问文件的主服务器,当然还有一些数据节点,通常是一个节点一个机器,它来管理对应节点的存储。
名字节点用来操作文件命名空间的文件或目录操作,如打开,关闭,重命名等等。它同时确定块与数据节点的映射。
数据节点负责来自文件系统客户的读写请求。数据节点同时还要执行块的创建,删除,和来自名字节点的块复制指令。
HDFS中典型的块大小是64MB,一个HDFS文件可以被被切分成多个64MB大小的块,如果需要,每一个块可以分布在不同的数据节点上。
在HDFS中,fsimage和eidts是NameNode两个非常重要的文件。
其中,fsimage是HDFS文件系统存于硬盘中的元数据检查点,里面记录了自最后一次检查点之前HDFS文件系统中所有目录和文件的序列化信息;而edits保存了自最后一次检查点之后所有针对HDFS文件系统的操作,比如:增加文件、重命名文件、删除目录等等。
HDFS 1.X版本 默认 Block Size的大小是___B___。
A.32MB
B.64MB
C.128MB
D.256MB
HDFS是基于流数据模式访问和处理超大文件的需求而开发的,具有高容错、高可靠性、高可扩展性、高吞吐率等特征,适合的读写任务是 __D____。
A.一次写入,少次读
B.多次写入,少次读
C.多次写入,多次读
D.一次写入,多次读
HBase依靠__A____存储底层数据。
A.HDFS
B.Hadoop
C.Memory
D. MapReduce
下面与HDFS类似的框架是___C____?
A.NTFS
B.FAT32
C.GFS
D. EXT3
HDFS默认的当前工作目录是/user/$USER,fs.default.name的值需要在哪个配置文件内说明 答案:B
A. mapred-site.xml
B. core-site.xml
C. hdfs-site.xml
D. 以上均不是
关于Hadoop单机模式和伪分布式模式的说法,正确的是 答案:D
A. 两者都起守护进程,且守护进程运行在一台机器上
B. 单机模式不使用HDFS,但加载守护进程
C. 两者都不与守护进程交互,避免复杂性
D. 后者比前者增加了HDFS输入输出以及可检查内存使用情况
HDFS的NameNode负责管理文件系统的命名空间,将所有的文件和文件夹的元数据保存在一个文件系统树中,这些信息也会在硬盘上保存成以下文件: 答案:C
A.日志
B.命名空间镜像
C.两者都是
Client在HDFS上进行文件写入时,namenode根据文件大小和配置情况,返回部分datanode信息,谁负责将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块 答案:A
A. Client
B. Namenode
C. Datanode
D. Secondary namenode
HDFS无法高效存储大量小文件,想让它能处理好小文件,比较可行的改进策略不包括 答案:D
A. 利用SequenceFile、MapFile、Har等方式归档小文件
B.多Master设计
C. Block大小适当调小
D. 调大namenode内存或将文件系统元数据存到硬盘里
关于HDFS的文件写入,正确的是 答案:C
(知识点:在HDFS的一个文件中只有一个写入者,而且写操作只能在文件末尾完成,即只能执行追加操作。默认三份文件块两块在同一机架上,另一份存放在其他机架上。)
A. 支持多用户对同一文件的写操作
B. 用户可以在文件任意位置进行修改
C. 默认将文件块复制成三份存放
D. 复制的文件块默认都存在同一机架上
Namenode在启动时自动进入安全模式,在安全模式阶段,说法错误的是 答案:D
A. 安全模式目的是在系统启动时检查各个DataNode上数据块的有效性
B. 根据策略对数据块进行必要的复制或删除
C. 当数据块最小百分比数满足的最小副本数条件时,会自动退出安全模式
D. 文件系统允许有修改
下列哪个程序通常不与 NameNode 在一个节点启动?( A)。
A . SecondaryNameNode
B . DataNode
C . resourcemanager
D . nodemanager
下列关于HDFS为存储MapReduce并行切分和处理的数据做的设计,错误的是 答案:B
(知识点:每个分片不能太小,否则启动与停止各个分片处理所需的开销将占很大一部分执行时间)
A. FSDataInputStream扩展了DataInputStream以支持随机读
B. 为实现细粒度并行,输入分片(Input Split)应该越小越好
C. 一台机器可能被指派从输入文件的任意位置开始处理一个分片
D. 输入分片是一种记录的逻辑划分,而HDFS数据块是对输入数据的物理分割
下面哪个程序负责 HDFS 数据存储。答案C
a)NameNode
b)Jobtracker
c)Datanode
d)secondaryNameNode
e)tasktracker
HDfS 中的 block 默认保存几份? 答案A
a)3 份 b)2 份 c)1 份 d)不确定
HDFS 在 hadoop2 默 认 Block Size 是 128MB
关于 hdfs 元数据,NameNode 维护整个文件系统元数据
关于 hadoop ha 说法,NN 是 HDFS 集群的单点故障点,每一个集群只有一 个 NN。
sqoop 实现向 hdfs 系统导入数据使用的命令是( A)。
A . sqoop import
B . sqoop export
C . sqoop connect
D . sqoop jdbc
关于 HDFS 写数据流程,下面说法错误的是( B)。
A . 写数据首先需要找NN确定写的位置
B . 如果pipeline一个节点写失败 则重新申请DN节点再写
C . 写数据是以packet为大小进行的,默认64K
D . pipeline反方向会进行数据的ack检验
关于 checkpoint,说法正确的是( C)。
A . checkpoint可通过元数据文件的大小进行控制
B . secondarynamenode会将合并好的元数据移动到namenode
C . SecondaryNameNode会将edits文件和fsimage复制到本地(HTTP GET方式)
D . 合并元数据需要大量的磁盘进行文件的合并操作