一 HDFS 选择题
1.对HDFS通信协议的理解错误的是?
A.客户端与数据节点的交互是通过RPC(Remote Procedure Call)来实现的
B.HDFS通信协议都是构建在IoT协议基础之上的
C.名称节点和数据节点之间则使用数据节点协议进行交互
D.客户端通过一个可配置的端口向名称节点主动发起TCP连接,并使用客户端协议与名称节点进行交互
B HDFS通信协议构建在TCP/IP协议基础之上
2. HDFS的命名空间不包含:
A. 目录 B. 文件 C. 字节 D. 块
C HDFS的命名空间只有目录、文件、块三部分
3.采用多副本冗余存储的优势不包含:
A.加快数据传输速度 B.保证数据可靠性
C.节约存储空间 D.容易检查数据错误
C 多副本冗余存储的缺点之一就是浪费存储空间
4.分布式文件系统HDFS采用了主从结构模型,由计算机集群中的多个节点构成的,这些节点分为两类,一类存储元数据叫()?另一类存储具体数据叫()?
A.数据节点,名称节点
B.名称节点,主节点
C.名称节点,数据节点
D.从节点,主节点
C 存储元数据的是主节点/名称节点,存储具体数据的是从节点/数据节点
5.数据节点是()
A.NameNode B.DataNode
C.SecondaryNameNode D.Jobtracker
B data就是数据的意思
6. HDFS默认Block Size的大小是()MB。
A. 32 B. 64 C. 128 D. 256
B/C 关于这道题的答案存在争议,主要是和Hadoop的版本有关。Hadoop2.7.3之后是128 MB,2.7.3之前是64MB。大多数教材上是以64MB为答案的,大家可以具体情况具体分析。
7.判断HDFS是否启动成功,可以通过哪个命令?
A.hdfs B.spark C.jps D. start-dfs
C 可以使用jps命令查看当前节点个数,判断HDFS是否成功启动
8.用户在使用HDFS时,仍然可以像普通文件系统那样用文件名去访问文件,以下哪个选项是正确的访问方式?
A.把文件名发送给名称节点,根据文件名在名称节点上找到数据块的实际存储信息,客户端再到数据节点上获取数据
B.把文件名发送给数据节点,根据文件名直接在数据节点上获取数据
C.把文件名发送给名称节点,根据文件名直接在名称节点上获取数据
D.以上说法都不对
A 客户端不直接从名称节点上获取数据,只获取存放数据的数据节点的位置
9.数据节点负责数据的存储和读取,每个数据节点中的数据会被保存在()。
A.各自节点的磁盘文件系统中
B.其他节点的磁盘系统中
C.各自节点的本地Linux文件系统中
D.其他节点的本地Linux文件系统中
C
10. HDFS中的block默认保存()份。
A. 3 B. 2 C. 1 D. 不确定
A
11.以下对数据节点理解不正确的是
A.数据节点通常只有一个
B.数据节点的数据保存在磁盘中
C.数据节点在名称节点的统一调度下进行数据块的创建、删除和复制等操作
D.数据节点用来存储具体的文件内容
A 只有一个的是名称节点
二 HDFS操作题
1.启动hadoop
cd /apps/hadoop/sbin
./start-all.sh
2.在HDFS文件系统中建立如下目录:/zhangsan/hadoop
hadoop fs -mkdir -p /zhangsan/hadoop
3.接着在第3步建立的目录下,创建test文件夹,并使用ls命令查看是否创建成功。
hadoop fs -mkdir -p /zhangsan/hadoop/test
haddop fs -ls -R /
4.将Linux文件系统中的“~/.bashrc”文件上传到HDFS的test文件夹中,并在浏览器中查看文件是否上传成功。
hadoop fs -put ~/.bashrc /zhangsan/hadoop/test
5.将a.txt从hdfs文件系统下载到Linux文件系统。
hadoop fs -get /zhangsan/hadoop/a.txt /home/zhangyu