Hadoop 叢集大小变动。
18. Hadoop 是 Java 开发的,所以 MapReduce 只支持 Java 语言编写。(错误 )
分析:rhadoop是用R语言开发的,MapReduce是一个框架,可以理解是一种思想,可以使用其他语言开发。
19. Hadoop 支持数据的随机读写。(错 )
分析:lucene是支持随机读写的,而hdfs只支持随机读。但是HBase可以来补救。HBase提供随机读写,来解决Hadoop不能处理的问题。HBase自底层设计开始即聚焦于各种可伸缩性问题:表可以很“高”,有数十亿个数据行;也可以很“宽”,有数百万个列;水平分区并在上千个普通商用机节点上自动复制。表的模式是物理存储的直接反映,使系统有可能提高高效的数据结构的序列化、存储和检索。
20. NameNode 负责管理 metadata,client 端每次读写请求,它都会从磁盘中读取或则会写入 metadata 信息并反馈 client 端。(错误)
16
此题分析:
NameNode 不需要从磁盘读取 metadata,所有数据都在内存中,硬盘上的只是序列化的结果,只有每次 namenode 启动的时候才会读取。
1)文件写入
Client向NameNode发起文件写入的请求。
NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。
Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。
2)文件读取Client向NameNode发起文件读取的请求。
21. NameNode 本地磁盘保存了 Block 的位置信息。( 个人认为 正确 ,欢迎提出其它意见)
17
分析:DataNode是文件存储的基本单元,它将Block存储在本地文件系统中,保存了Block的Meta-data,同时周期性地将所有存在的Block信息发送给NameNode。NameNode返回文件存储的DataNode的信息。Client读取文件信息。
22. DataNode 通过长连接与 NameNode 保持通信。( )
这个有分歧:具体正在找这方面的有利资料。下面提供资料可参考。
首先明确一下概念:
(1).长连接Client方与Server方先建立通讯连接,连接建立后不断开,然后再进行报文发送和接收。这种方式下由于通讯连接一直存在,此种方式常用于点对点通讯。
(2).短连接Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用于一点对多点通讯,比如多个Client连接一个Server.
23. Hadoop 自身具有严格的权限管理和安全措施保障集群正常运行。
18
(错误 )
hadoop只能阻止好人犯错,但是不能阻止坏人干坏事
24. Slave 节点要存储数据,所以它的磁盘越大越好。( 错误)
分析:一旦Slave节点宕机,数据恢复是一个难题
25. hadoop dfsadmin –report 命令用于检测 HDFS 损坏块。(错误 )
26. Hadoop 默认调度器策略为 FIFO(正确 )
27. 集群内每个节点都应该配 RAID,这样避免单磁盘损坏,影响整个节点运行。(错误 )
分析:首先明白什么是RAID,可以参考百科磁盘阵列。这句话错误的地方在于太绝对,具体情况具体分析。题目不是重点,知识才是最重要的。因为hadoop本身就具有冗余能力,所以如果不是很严格不需要都配备RAID。具体参考第二题。
19
28. 因为 HDFS 有多个副本,所以 NameNode 是不存在单点问题的。(错误 )
29. 每个 map 槽就是一个线程。(错误 )
分析:首先我们知道什么是map 槽,map 槽->map slotmap slot 只是一个逻辑值
( org.apache.hadoop.mapred.TaskTracker.TaskLauncher.numFreeSlots ),而不是对应着一个线程或者进程
30. Mapreduce 的 input split 就是一个 block。(错误 )
31. NameNode 的 Web UI 端口是 50030,它通过 jetty 启动的 Web 服务。(错误 )
32. Hadoop 环境变量中的 HADOOP_HEAPSIZE 用于设置所有 Hadoop 守护线程的内存。它默认是 200 GB。( 错误)
hadoop为各个守护进程
(namenode,secondarynamenode,jobtracker,datanode,tasktracker)统一分
20