• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

合肥工业大学2022大数据技术作业

武飞扬头像
一头骇人鲸
帮助5

1、如何解除Hadoop系统的安全模式?

(1)在HDFS配置文件中修改安全模式阀值
在hadoop的安装目录中的hdfs-site.xml中设置安全阀值属性,属性值默认为0.999f,如果设为1则不进行安全检查

  1.  
    <property>
  2.  
     
  3.  
    <name>dfs.safemode.threshold.pct</name>
  4.  
     
  5.  
    <value>0.999f</value>
  6.  
     
  7.  
    <description>
  8.  
     
  9.  
    Specifies the percentage of blocks that should satisfy
  10.  
     
  11.  
    the minimal replication requirement defined by
  12.  
     
  13.  
    dfs.replication.min.
  14.  
     
  15.  
    Values less than or equal to 0 mean not to wait for any particular
  16.  
     
  17.  
    percentage of blocks before exiting safemode.
  18.  
     
  19.  
    Values greater than 1 will make safe mode permanent.
  20.  
     
  21.  
    </description>
  22.  
     
  23.  
    </property>
学新通

把其中的0.999f改为1f

  1.  
    <property>
  2.  
     
  3.  
    <name>dfs.safemode.threshold.pct</name>
  4.  
     
  5.  
    <value>1f</value>
  6.  
     
  7.  
    <description>
  8.  
     
  9.  
    Specifies the percentage of blocks that should satisfy
  10.  
     
  11.  
    the minimal replication requirement defined by
  12.  
     
  13.  
    dfs.replication.min.
  14.  
     
  15.  
    Values less than or equal to 0 mean not to wait for any particular
  16.  
     
  17.  
    percentage of blocks before exiting safemode.
  18.  
     
  19.  
    Values greater than 1 will make safe mode permanent.
  20.  
     
  21.  
    </description>
  22.  
     
  23.  
    </property>
学新通

这样更改配置文件,将会永久性解决hadoop安全模式启动的问题

(2)直接在bash输入指令脱离安全模式

用户可以通过dfsadmin -safemode value 指令来操作安全模式,参数value的说明如下:

enter - 进入安全模式

leave - 强制NameNode离开安全模式

get - 返回安全模式是否开启的信息

wait - 等待,一直到安全模式结束。

两种方法对比:

方法一:可以一劳永逸,但是有风险。

方法二:需要在每次重启hdfs集群的时候都要输入。

2、为什么HDFS不适合低延迟数据访问?

HDFS 的设计⽬标有⼀点是:处理⼤型数据集,⾼吞吐率。由于hadoop针对高数据吞吐量做了优化,牺牲了获取数据的延迟,所以对于低延迟数据访问,不适合hadoop,对于低延迟的访问需求,HBase是更好的选择.

3、为什么HDFS无法高效存储大量小文件?

(1).小文件数量过多(例如图片)会占用批量占用namenode的内存,浪费block,因为每个储存在HDFS中的文件的元数据(包括目录树,位置信息,命名空间镜像,文件编辑信息)都会在namenode中占用150b的内存,如果namenode存储空间满了,就不能继续存储新文件了。

(2).如果有多小文件,会造成寻道时间>=读取文件时间(传输文件时间=寻道时间 读取文件时间),这与HDFS的原理想违背,hdfs的设计是为了减小寻道时间,是其远小于读取文件的时间。

4、为什么HDFS不支持多用户写入及任意修改文件?

不支持多用户写入:HDFS只支持单用户写,因为需要创建副本所以怕冲突,并且若加入多用户写入特性可能会使效率降低;

不能任意修改文件:HDFS 本来就不是适合频繁写入的文件系统, 它流式读取的方式,不适合任意位置写入;它比较适合一次写入,多次使用。

目前 Hadoop 只支持单用户写,不支持并发多用户写。可以使用 Append 操作在文件的末尾添加数据,但不支持在文件的任意位置进行修改。

5、HDFS如何解决名称节点运行期间EditLog不断变大的问题?

解决方案:利用SecondaryNameNode第二名称节点

第二名称节点是HDFS架构中的一个组成部分,用来保存名称节点中对HDFS 元数据信息的备份,并减少名称节点重启的时间。(SecondaryNameNode一般是单独运行在一台机器上)

学新通 

图 SecondaryNameNode的工作情况

SecondaryNameNode的工作情况:(1)SecondaryNameNode会定期和NameNode通信,请求其停止使用EditLog文件,暂时将新的写操作写到一个新的文件edits.new上来,这个操作是瞬间完成,上层写日志的函数完全感觉不到差别;(2)SecondaryNameNode通过HTTP GET方式从NameNode上获取到FsImage和EditLog文件,并下载到本地的相应目录下;(3)SecondaryNameNode将下载下来的FsImage载入到内存,然后一条一条地执行EditLog文件中的各项更新操作,使得内存中的FsImage保持最新;这个过程就是EditLog和FsImage文件合并;(4)SecondaryNameNode执行完(3)操作之后,会通过post方式将新的FsImage文件发送到NameNode节点上(5)NameNode将从SecondaryNameNode接收到的新的FsImage替换旧的FsImage文件,同时将edits.new替换EditLog文件,通过这个过程EditLog就变小了

6、Map任务为什么要进行分区操作,如何分区?

(1).为什么需要分区操作:

假设始终使用一个分区,在处理大型文件时效率极低,因为一台机器必须处理所有输出文件,从而完全丧失了 MapReduce 所提供的并行架构的优势。但是,如果使用一个 partitioner 来描述结果,运行多个 ruduce 任务,运行partition 时,将数据分配到每个 reduce 中,最后合并输出文件,就得到了有意义的最终结果。在将map()函数处理后得到的(key,value)对写入到缓冲区之前,需要先进行分区操作,这样就能把map任务处理的结果发送给指定的reducer去执行,从而达到负载均衡,避免数据倾斜。

(2).如何进行分区操作:

MapReduce提供默认的分区类(HashPartitioner),我们也可以自定义分区,让其继承Partitioner类,并重写getPartition()方法,让其针对不同情况返回不同数值即可。并在最后通过job设置指定分区类和reducer任务数量即可。

7、MapReduce中多个Reduce任务的结果会做进一步的处理么?为什么?

会,因为reducetask根据自己的分区号,去各个maptask机器上取相应的结果分区数据,取到同一个分区的来自不同maptask的结果文件,reducetask会将这些文件再进行合并(归并排序)形成大文件。

8.参照“第四章-MapReduce”中的图4-7、4-8和4-9,如果有两个Reduce任务,重新画出用户没有定义Combiner时的MapReduce过程示意图,并简要说明Shuffle过程。

学新通 

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfhehbe
系列文章
更多 icon
同类精品
更多 icon
继续加载