hadoop面试题及答案解析

1.(Datanode)程序负责HDFS数据存储。
2.HDFS中的block默认保存(3份)。
3.(TaskTracker)程序通常与NameNode在一个节点启动。
分析:hadoop集群是基于master/slave模式,namenode和jobtracker属于master,datanode和tasktracker属于slave,master只有一个,而slave有多个。。
4.hadoop的作者是(Doug cutting)
5.HDFS默认的block size是64MB.
6.磁盘IO通常是集群最主要的瓶颈。
分析:首先集群的目的是为了节省成本,用廉价的PC机取代小型机和大型机(这两者的特点:CPU处理能力强,内存够大),由于大数据面临海量数据,读写数据都要io,然后还有冗余数据,Hadoop一般备份3份数据,所以io就会打折。
7.secondaryNode目的是帮助NameNode合并编辑日志,减少nameNode启动时间。
8.配置机架感知:如果一个机架出问题,不会影响数据读写。写入数据的时候,会写到不同机架的dataNode中。mapReduce会根据机架获取离自己比较近的网络数据。
9.如果nameNode意外终止,SecondaryNameNode会帮助恢复而不是替代。
10.hadoop是java开发的,rhadoop是r开发的,mapreduce是一个框架,可以理解是一种思想,可以使用其他语言开发。
11.client客户端上传文件:
clent向NameNode发起文件写入的请求,NameNode根据文件大小和文件块的配置情况,返回给client它所管理的部分dataNode的信息。client将文件划分成多个block,根据dataNode的地址信息,按顺序写入到每一个dataNode块中。
12.Ganglia不仅可以进行监控,也可以进行告警。
分析:ganglia作为一款Linux环境中的监控软件,最擅长的是从节点中按照用户的需求以较低的代价采集数据,但在预警以及发生时间后通知用户并不擅长。更擅长做预警的是nagios。
通过将两者结合,吧ganglia采集的数据作为nagios的数据源,然后利用nagios发送预警通知,可以完美的实现一整套监控管理的系统。
13.Cloudera Enterpris在美国加州举行的Hadoop大会上公开,以若干私有管理/监控/运行工具加强Hadoop的功能。收费采取合约订购方式,价格随着使用的集群大小变动。
14.lucene是支持随机读写的,而HDFS只是支持随机读,但是HBase可以来补救。HBase提供随机读写,来解决Hadoop不能处理的问题,
15.namenode不需要从磁盘中读取metadata,所有数据都在内存中,硬盘上只是序列化的结果,只有每次namenode启动时才会读取。

原文地址:https://www.cnblogs.com/sanmenyi/p/7580532.html