- hadoop是适合海量数据的分布式存储,和分布式计算的框架
- hadoop有三大组件
1、mapreduce:适合海量数据的分布式计算,分为map阶段、shuffle阶段和reduce阶段
2、hdfs:分布式文件系统,适合海量数据的分布式存储
3、yarn:资源调度工具
- hadoop的优点:
1、高效率:分布式计算,移动计算,不移动数据
2、高扩展性:可横向的增加机器,提高性能
3、高可靠性:有副本机制,默认对数据复制2个副本保留下来,一般一个副本在同机架的不同节点,另一个副本在不同机架的节点上。保证数据损坏,或者丢失后,还有其他的副本可以使用。
4、高容错性:计算节点计算任务时,有taskTracker用于计算数据,taskTracker挂了之后,jobTracker会在其他几点重启启动一个taskTracker计算该数据。
- 面试题
1、shuffle过程
shuffle发生在map和reduce之间,具体流程:数据写进map端之后被程序处理,结果数据写进环形缓冲区,快速排序,缓冲区大小100m,达到80%,即80m的时候,开始反向溢写磁盘,形成一个一个小文件,最后合并成一个具有分区并且排好序的文件。
reduce通过http请求,获取其他节点上的数据,同一个key进入到同一个reduce中计算,一个reduce可以计算多个key。
2、说说搭建hadoop的3个xml文件
> core-site.xml 核心配置
> hdfs-site.xml hdfs配置文件
> mapred-site.xml mapreduce配置文件
3、hadoop有哪些进程
> hdfs的进程有nameNode,dataNode,secondary nameNode
> yarn的进程有resourceManager,nodeManager,applicationMaster