周总结-考试

Shuffle过程环形缓冲区的作用:

key,value从map()方法输出,被outputcollector收集通过getpartitioner()方法获取分区号,在进入环形缓冲区。默认情况下,环形缓冲区大小值为100MB。当map输入的数据进入环形缓冲区的量达到80MB以上时,那么开始执行溢写过程,溢写过程中如果有其他数据进入,那么由剩余的百分之20反向写入。溢写过程会根据key,value先进行分区,后进行排序,最终maptask溢写文件经过归并排序后落入本地磁盘,reduceTask将多个mapTask下相同分区的数据copy到不同的reduceTask中进行归并排序后一次读取一组数据给reduce()函数。

HDFS默认的Block块大小是多少?为什么块的大小不能设置太小,也不能设置太大?

1)默认的块大小是128M,(2)因为HDFS的块设置太小,会增加寻址时间,程序一直在找块的开始位置;如果块设置的太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。导致程序在处理这块数据时,会非常慢。其实HDFS块的大小设置主要取决于磁盘传输速率。

简述Hdfs的默认副本策略?这样做有什么好处?

1)第一个副本在客户端所处的节点上。如果客户端在集群外(意思就是执行上传的服务器不属于集群的节点),则随机再机架上选一个; (2)第二个副本和第一个副本位于相同机架随机节点上; (3)第三个副本位于不同机架,随机节点。 优点:该策略减少了机架间的写流量,通常可以提高写性能。机架故障的机会远小于节点故障的机会。所以此策略不会影响数据的可靠性和可用性保证。

简单描述你对Hadoop集群SafeMode模式的理解?

集群处于安全模式,不能执行重要操作(写操作),集群属于只读状态。但是严格来说,只是保证HDFS元数据信息的访问,而不保证文件的访问。集群启动完成后,自动退出安全模式, 如果集群处于安全模式,想要完成写操作,需要离开安全模式。 (1)bin/hdfs dfsadmin -safemode get (功能描述:查看安全模式状态) (2)bin/hdfs dfsadmin -safemode enter (功能描述:进入安全模式状态) (3)bin/hdfs dfsadmin -safemode leave (功能描述:离开安全模式状态) (4)bin/hdfs dfsadmin -safemode wait (功能描述:等待安全模式状态)。 对于全新创建的HDFS集群,NameNode启动后不会进入安全模式,因为没有Block信息。     

用一句话总结Combiner的作用和意义,使用它有什么前提?

Combiner的意义就是对每一个MapTask的输出进行局部汇总,以减小网络传输量。

 

简述HDFS的文件上传流程?

1)客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。 2)NameNode返回是否可以上传。 3)客户端请求第一个 Block上传到哪几个DataNode服务器上。 4)NameNode返回3个DataNode节点,分别为dn1、dn2、dn3。 5)客户端通过FSDataOutputStream模块请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建立完成。 6)dn1、dn2、dn3逐级应答客户端。 7)客户端开始往dn1上传第一个Block(先从磁盘读取数据放到一个本地内存缓存),以Packet为单位,dn1收到一个Packet就会传给dn2,dn2传给dn3;dn1每传一个packet会放入一个应答队列等待应答。 8)当一个Block传输完成之后,客户端再次请求NameNode上传第二个Block的服务器。

 

1.ReduceTask是负责从MapTask上远程读取输入数据后对数据排序,将数据分组传递给用户编写的reduce进行处理

2.MapReduce是一个分布式的运算程序编程框架,适合处理大量的离线数据,有良好的扩展性和高容错性

3.web页面访问http://192.168.153.88:50070可以查看hadoop的datanode存活和数据存储的URL地址

4.Namenode 全权管理数据块的复制,它周期性地从集群中的每个Datanode接收心跳信号和块状态报告(Blockreport),接收到心跳信号意味着该Datanode节点工作正常

5.ResourceManager负责对 NodeManager 资源进行统一管理和调度

6.A. 对多个mapTask任务输出key,value,按照不同的分区通过网络copy到不同的reduceTask节点处理。

B. 对多个mapTask任务的输出进行合并、排序。再reduce函数中实现自己的逻辑,对输入的key、value处理,转换成新的key、value输出。

C. outputformat把reducer输出的key,value保存到文件中。

7.执行一个job, 如果这个job的输出路径已经存在,那么程序会

C. 抛出一个异常,然后退出程序的执行

D. 会抛出文件路径已存在的异常

8.对ApplicationMaster描述正确的是(  )

C. 通过NodeManager监视任务的执行和资源使用

D. ApplicationMaster是一个长应用,分配的任务执行完毕后,不会消失(释放)

9.SecondaryNameNode ,它是辅助NameNode ,它的目的是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间和压力,提高NameNode的整体性能

10.配置:

A. fs.defaultFS是定义hdfs集群的命名空间

B. dfs.replication是定义hdfs文件系统副本数

D. dfs.namenode.name.dir是定义hdfs文件系统元数据存放目录

11.mapreduce的基本类型

A. BooleanWritable

B. LongWritable

C. NullWritable

12.对fsimage和edits描述:

A. FsImage文件:HDFS文件系统元数据的一个永久性的检查点,其中包含HDFS文件系统的所有目录和文件inode的序列化信息。

B. Edits文件:存放HDFS文件系统的所有更新操作的路径,文件系统客户端执行的所有写操作首先会被记录到Edits文件中。

D. SecondaryNode实时的辅助备份fsimage和edits,辅助NameNode,协助其完成元数据和编辑文件的合并工作

因为请假拉下的课会慢慢补上的。

发布了16 篇原创文章 · 获赞 10 · 访问量 293

猜你喜欢

转载自blog.csdn.net/XIAOMO__/article/details/103756780