《深入理解Spark:核心思想与源码分析》——2.1节初识Spark
本节书摘来自华章社区《深入理解Spark:核心思想与源码分析》一书中的第2章,第2.1节初识Spark,作者耿嘉安,更多章节内容可以访问云栖社区“华章社区”公众号查看 2.1 初识Spark2.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出现故障,整个集群将不可用。资源利用率低:TaskTracker 使用slot等量划分本节点上的资源量。slot代表计算资源(CPU、内存等)。一个...