hadoop是什么?hadoop是一个开发和运行处理大规模数据的软件平台,是appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算.
hadoop框架中最核心设计就是:hdfs和mapreduce.hdfs提供了海量数据的存储,mapreduce提供了对数据的计算.
数据在hadoop中处理的流程可以简单的按照下图来理解:数据通过haddop的集群处理后得到结果.
hdfs:hadoop distributed file system,hadoop的分布式文件系统.
大文件被分成默认64m一块的数据块分布存储在集群机器中.
如下图中的文件 data1被分成3块,这3块以冗余镜像的方式分布在不同的机器中.
mapreduce:hadoop为每一个input split创建一个task调用map计算,在此task中依次处理此split中的一个个记录(record),map会将结果以key--value的形式输出,hadoop负责按key值将map的输出整理后作为reduce的输入,reduce task的输出为整个job的输出,保存在hdfs上.
hadoop的集群主要由 namenode,datanode,secondary namenode,jobtracker,tasktracker组成.
如下图所示:
namenode中记录了文件是如何被拆分成block以及这些block都存储到了那些datenode节点.
namenode同时保存了文件系统运行的状态信息.
datanode中存储的是被拆分的blocks.
secondary namenode帮助namenode收集文件系统运行的状态信息.
jobtracker当有任务提交到hadoop集群的时候负责job的运行,负责调度多个tasktracker.
tasktracker负责某一个map或者reduce任务.
总结
以上所述是小编给大家介绍的hadoop是什么语言,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://blog.sina.com.cn/s/blog_9c6852670102wwv5.html