深入理解Spark:核心思想与源码分析. 2.1 初识Spark
2.1 初识Spark
2.1.1 Hadoop MRv1的局限
Hadoop1.0版本采用的是MRv1版本的MapReduce编程模型。MRv1版本的实现都封装在org.apache.hadoop.mapred包中,MRv1的Map和Reduce是通过接口实现的。MRv1包括三个部分:
运行时环境(JobTracker和TaskTracker);
编程模型(MapReduce);
数据处理引擎(Map任务和Reduce任务)。
MRv1存在以下不足:
可扩展性差:在运行时,JobTracker既负责资源管理又负责任务调度,当集群繁忙时,JobTracker很容易成为瓶颈,最终导致它的可扩展性问题。
可用性差:采用了单节点的Master,没有备用Master及选举操作,这导致一旦Master出现故障,整个集群将不可用。
资源利用率低:TaskTra