HDF机制面试题

怎么理解分布式?(计算和存储)
分布式计算:是一种计算方法,是将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。
0.
分布式存储,是一种数据存储技术,通过网络使用企业中的每台机器上的磁盘空间,将这些分散的存储资源构成一个虚拟的存储设备,数据分散存储在企业的各个角落,多台服务器

Hadoop 的组成部分
HDFS 分布式文件存储系统
管理者:NameNode
工作者:DataNode
辅助者:SecondayNameNode

			MapReduce 分布式离线计算框架
			
			Yarn Hadoop资源调度器
				管理者:ResourceManager
				工作者:NodeManager

HDFS副本存放机制
在这里插入图片描述

Namenode作用
1、维护 管理文件系统的名字空间(元数据信息)
2、负责确定指定的文件块到具体的Datanode结点的映射关系。
3、维护管理 DataNode上报的心跳信息

DataNode作用
1、执行数据的读写(响应的是客户端)
2、周期性向NameNode做汇报(数据块的信息、校验和)
若datanode 10分钟没有向NameNode做汇报,表示已丢失(已宕机)
心跳周期 3秒
3、执行流水线的复制(一点一点复制)
在这里插入图片描述

什么是机架感知?
实际上需要工程师收到创建一个脚本(python sh ),脚本中记录主机IP和交换机的对应关系。
配置的位置是core-site.xml 最终添加如下配置

什么时候会用到机架感知?
NameNode在写入数据,分配节点的时候

HDFS数据写入流程?
在这里插入图片描述

HDFS数据读取流程?
在这里插入图片描述

HDFS数据完整性如何保证?
在这里插入图片描述

HDFS 特性?(适用场景:一次写入,多次读取)
1、海量数据存储: HDFS可横向扩展,其存储的文件可以支持PB级别数据。
2、高容错性:节点丢失,系统依然可用,数据保存多个副本,副本丢失后自动恢复。
可构建在廉价(与小型机大型机比)的机器上,实现线性扩展(随着节点数量的增加,集群的存储能力,计算能力随
之增加)。
大文件存储:DFS采用数据块的方式存储数据,将一个大文件切分成多个小文件,分布存储。

HDFS缺点?
1、 不能做到低延迟数据访问: HDFS 针对一次性读取大量数据继续了优化,牺牲了延迟性。
2、不适合大量的小文件存储 :
A:由于namenode将文件系统的元数据存储在内存中,因此该文件系统所能存储的文件总数受限于namenode的内存
容量。
B:每个文件、目录和数据块的存储信息大约占150字节。
由于以上两个原因,所以导致HDFS不适合大量的小文件存储
3、文件的修改; 不适合多次写入,一次读取(少量读取)
4、不支持多用户的并行写。

什么时候进入安全模式?
在NameNode主节点启动时,HDFS首先进入安全模式 。

安全模式有什么特点?
安全模式是HDFS所处的一种特殊状态,在这种状态下,文件系统只接受读数据请求,而不接受删除、修改等变更请

在安全模式下集群在做什么?
DataNode在启动的时候会向namenode汇报可用的block等状态

如何进入/退出安全模式?
进入:hdfs dfsadmin -safemode enter
退出:hdfs dfsadmin -safemode leave

Fsimage 和 Edits 的作用是什么?

用于还原集群上次关闭时的状态。还原时将两个文件加载到内存,检查、合并最终生成一个新的Fsimage 。原本的Edits失效。

什么时候会使用Fsimage Edits?
1.在集群二次启动时,会使用fsimage和edits合并进行恢复元数据
2.SecondayNameNode周期性的拉取fsimage和edits进行合并生成新的fsimage

SecondaryNamenode 的工作机制是什么?
SecondaryNamenode周期性复制NameNode的FSIMAGE 和edits到本机(SecondaryNamenode本机),将两个文件进行合并,最终生成全新的Fsimage,将最新的Fsimage发送回Namenode 。

SecondaryNamenode存在的意义是什么?
辅助NameNode合并Fsimage Edits.减小了日志的大小,加快了集群的二次启动速度。

SecondaryNamenode工作的触发因素有哪些?
1.时间维度,默认一小时触发一次 dfs.namenode.checkpoint.period :3600
2.次数维度,默认100万次触发一次 dfs.namenode.checkpoint.txns : 1000000
3、六十秒判断一次是否达到100W

使用SNN的FSimage和Edits还原Namenode流程是什么?
在这里插入图片描述

集群扩容新节点需要做哪些准备?

		1.配置JDK
		2.配置SSH免密钥
		3.关闭防火墙
		4.关闭selinux
		5.修改主机名
		6.修改hosts

集群扩容集群添加一个节点的流程?
1 在主节点 创建dfs.hosts文件(HDFS可用节点的白名单)
在dfs.hosts添加所有的主机
2 修改hdfs-site.xml 添加如下配置
dfs.hosts /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/dfs.hosts
3 刷新namenode
HDFS : hdfs dfsadmin -refreshNodesYARN : yarn rmadmin -refreshNodes
4 添加 新节点到slave
node01
node02
node03
node04
slave 文件中记录的节点在集群启动时会进行启动。
5 启动新节点上的服务
sbin/hadoop-daemon.sh start datanode
sbin/yarn-daemon.sh start nodemanager
6 查看HDFS YARN 界面
7 负载均衡
./ start-balancer.sh

如何合并小文件?
a)使用HDFS提供的 -getmerge (mo zi)命令
b)遍历每个小文件追加到一个文件再进行上传

设置 开启权限控制的key是什么?
c)dfs.permissions

使用java API 在hdfs创建一个全新的目录的过程是?

		//实例Configuration 
		Configuration configuration = new Configuration();
		//实例文件系统
		FileSystem fileSystem = FileSystem.get(new URI("hdfs://192.168.100.88:8082"),configuration);
		//使用文件系统对象调用mkdirs(相应的API )
		boolean mkdirs = fileSystem.mkdirs(new Path("目录路径"));

HDFS web界面(两个问题)

		Overview -Live Nodes之前,
		Startup Progress,
		Snapshot ,
		Datanodes   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值