第2章 Hadoop分布式文件系统HDFS

简介: 第2章 Hadoop分布式文件系统HDFS

第2章 Hadoop分布式文件系统HDFS

一:判断题

1:Block Size 是不可以修改的

F


2:如果 NameNode 意外终止 ,SecondaryNameNode 会接替它使集群继续工作。

F


3:Hadoop 是 Java 开发的 ,所以 MapReduce 只支持 Java 语言编写

F


4:Cloudera CDH 是不需要付费使用的

T


5:因为 HDFS 有多个副本 ,所以 NameNode 是不存在单点问题的

F


6:Hadoop 默认调度器策略为 FIFO

T


7:Slave 节点要存储数据 ,所以它的磁盘越大越好

F


8:Hadoop 支持数据的随机读写

F


二:单选题

1:HDFS有一个gzip文件大小75MB,客户端设置Block大小为64MB。当运行mapreduce任务读取该文件时input split大小为?

A.64MB

B.75M

C.128M

D.一个map读取64MB,另外一个map读取11MB


2:一个gzip文件大小75MB,客户端设置Block大小为64MB,请我其占用几个Block?

A.1

B.2

C.3

D.4


3:出现在 datanode 的 VERSION 文件格式中但不出现在 namenode 的VERSION文件格式中的是

A.namespaceID

B.storageID

C.storageType

D.layoutVersion


4:Hadoop非常适合在商用硬件上做分布式存储和计算,在Hadoop集群中,负责文件的存储和管理的是?

A.HDFS

B.MapReduce

C.Hive

D.HBase


5:如果我们现有一个安装2.6.5版本的hadoop集群,在不修改默认配置的情况下存储200个每个200M的文本文件,请问最终会在集群中产生多少个数据块(包括副本)?

A.200

B.40000

C.400

D.1200


6:下列不是属于Apache中和Hadoop相关的项目是?

A.Avro

B.Kettle

C.Zookeeper

D.Hive


7:Hadoop最基础的功能是?

A.存储和处理海量数据的能力

B.快速编写程序

C.加快数据的读取

D.数据挖掘


8:关于 Hadoop 单机模式和伪分布式模式的说法 ,正确的是

A.两者都起守护进程 ,且守护进程运行在一台机器上

B.单机模式不使用 HDFS,但加载守护进程

C.两者都不与守护进程交互 ,避免复杂性

D.后者比前者增加了 HDFS 输入输出以及可检查内存使用情况


9:大数据的类型包含结构化数据、半结构化数据和非结构化数据,下列属于结构化数据的是?

A.Excel二维表格

B.图像

C.视频

D.音频


11:分布式计算,就是通过不断增加处理器的数量在增强单个计算机的计算能力,从而提高处理数据的速度。

A.正确

B.错误


12:大数据时代的出现,在数据分析的发展过程中是必然的,互联网和物联网的发展,是大数据时代出现的技术基础。

A.正确

B.错误


13:下列关于 MapReduce 说法不正确的是 ______

A.MapReduce 是一种计算框架

B.MapReduce 来源于 google 的学术论文

C.MapReduce 程序只能用 java 语言编写

D.MapReduce 隐藏了并行计算的细节 ,方便使用


14:下面与 HDFS 类似的框架是

A.NTFS

B.FAT32

C.GFS

D.EXT3


15:出现在 datanode 的 VERSION 文件格式中但不出现在 namenode 的VERSION文件格式中的是

A.namespaceID

B.storageID

C.storageType

D.layoutVersion


16:Client 在 HDFS上进行文件写入时 ,namenode 根据文件大小和配置情况 ,返回部分 datanode 信息,谁负责将文件划分为多个 Block,根据 DataNode 的地址信息 ,按顺序写入到每一个 DataNode 块

A.Client

B.Namenode

C.Datanode

D.Secondary namenode


17:关于 HDFS 的文件写入 ,正确的是

A.支持多用户对同一文件的写操作

B.用户可以在文件任意位置进行修改

C.默认将文件块复制成三份存放

D.复制的文件块默认都存在同一机架上


18:Hadoop fs 中的-get 和-put 命令操作对象是

A.文件

B.目录

C.两者都是

D.两者都不是


19:Namenode 在启动时自动进入安全模式 ,在安全模式阶段 ,说法错误的是

A.安全模式目的是在系统启动时检查各个 DataNode 上数据块的有效性

B.根据策略对数据块进行必要的复制或删除

C.当数据块最小百分比数满足的最小副本数条件时 ,会自动退出安全模式

D.文件系统允许有修改


20:下面哪个程序负责 HDFS 数据存储

A.NameNode

B.Jobtracker

C.Datanode

D.secondaryNameNode


21:Client 端上传文件的时候下列哪项正确

A.数据经过 NameNode 传递给 DataNode

B.Client 端将文件切分为 Block ,依次上传

C.Client 端不会对文件切分为 Block ,依次上传

D.Client 只上传数据到一台 DataNode ,然后由 NameNode 负责 Block 复制工作


22:以下哪个命令不可以用来操作HDFS文件:

A.hdfs dfs

B.hadoop fs

C.hdfs fs

D.hadoop dfs


三:填空题

1:start-all.sh启动后,Shell命令查看HDFS根目录下的文件

hdfs dfs -ls /


2:start-all.sh启动后,将本地Linux系统目录/home/hadoop/data/下的mobile.txt文件上传到根目录的HDFSShell目录下的命令:

hdfs dfs -put /home/hadoop/data/mobile.txt /HDFSShell


3.:统计目录/HDFSShell下文件大小的Shell命令

hdfs dfs -du /HDFSShell


4:启动hadoop所有进程的命令是:

start-all.sh


5:分布式文件系统HDFS采用了主从结构模型,由计算机集群中的多个节点构成的,这些节点分为两类,一类存储元数据叫 :

名称节点


,另一类存储具体数据叫

数据节点


四:主观题

1:HDFS核心组件有哪些?每个组件的具体功能是什么?

HDFS核心组件包含:数据块(Block)、元数据节点(NameNode)
、数据节点(DataNode)和从元数据节点(secondaryNameNode)
Block:默认的最基本的存储单位为128M的数据块
NameNode:管理文件系统的命名空间
DataNode:客户端或者元数据信息(NameNode)可以向数据节点
请求写入或者读出数据块,其周期性的向元数据节点回报其储存
的数据块信息。
secondaryNameNode:周期性的将元数据节点命名空间的镜像文件和修改
日志文件合并,以防日志文件过大。


2:为什么HDFS不适合存储小文件?

在HDFS中,访问大量小文件速度远远小于访问几个大文件,HDFS最初是为流式
访问大文件开发的,如果访问大量小文件,需要不断的从一个datanode跳到另
一个datanode,严重影响性能。每一个小文件要占用一个solt,而task启动将
耗费大量时间甚至大部分时间都耗费在启动task和释放task上.


3:使用FileSystem对象的rename()方法将目录/HDFSJava下mobile.txt文件重命名为newMobile.txt

public void rename() throws Exception{
    Path oldPath = new path("/HDFSJava/mobiles.txt");
    Path newPath = new Path("/HDFSJava/newMobiles.txt");
    System.out.println(fileSystem.rename(oldPath,newPath));
}


4:编写Mobile类,使用Hadoop序列化得方式序列化Mobile类,并将序列化的对象反序列化出来,写出实现的三个步骤。

1、编写Mobile实体类。
2、编写序列化工具类,实现序列化和反序列化方法。
3、编写测试类来测试序列化和反序列化方法。
目录
相关文章
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
188 6
|
2月前
|
SQL 分布式计算 监控
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
71 3
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
105 0
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-23 Sqoop 数据MySQL到HDFS(部分) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
51 0
|
2月前
|
SQL 分布式计算 关系型数据库
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-22 Sqoop 数据MySQL到HDFS(全量) SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
57 0
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
79 2
|
3天前
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
30 4
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
114 2
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
78 1
|
2月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
75 1