一、Hadoop
1.Hadoop
Hadoop的初衷是采用大量的廉价机器,组成一个集群,完成大数据的存储和计算。
2.hadoop中的组件
hadoop 1.x
HDFS: 负责大数据的存储
Common: HDFS和MR共有的常用的工具包模块
MapReduce: 负责计算,负责计算资源的申请的调度
完成大数据的计算
①写程序,程序需要复合计算框架的要求。
java---->main----->运行
MapReduce(编程模型)----->Map–Reducer
②运行程序,申请计算资源(cpu+内存,磁盘IO,网络IO)
java----->JVM------>OS----->申请计算资源
1.0: MapReduce(编程模型)---->JobTracker----->JVM----->申请计算资源
2.0: MapReduce(编程模型)---->jar------>运行时,将jar包中的任务,提交给YARN,和YARN进行通信
由YARN中的组件-----JVM------>申请计算资源
1.x和2.x的区别是将资源调度和管理进行分离。由同一的资源调度平台YARN进行大数据计算资源的调度。提升了Hadoop的通用性。Hadoop搭建的集群中的计算资源,不仅可以运行Hadoop中的MR程序,也可以运行其他计算框架的程序。
在hadoop不久之后,由于MR的低效性,出现了许多更为高效的计算框架。
例如: Tez,Storm,Spark,