发明名称 一种Hadoop系统优化方法
摘要 本发明涉及大数据与云计算领域,尤其涉及一种Hadoop系统优化方法。其中,对HDFS数据分布存储阶段的优化包括:选择DataNode;对选出的DataNode排序;采用同向增量的轮循方法放置数据。对MapReduce数据并行计算阶段的优化包括:生成执行队列Q;执行R<sup>0</sup>备份;更新执行队列Q;执行R<sup>1</sup>备份;更新执行队列Q;执行R<sup>2</sup>备份;更新执行队列Q;针对性执行。本发明采用自适应的轮循放置策略,可以将数据基本均匀地放置在DataNode,防止出现节点负载不平衡等问题。同时将所有的map任务都在本机执行,很大程度上减少了数据的网络传输,减少了map任务对网络传输的依赖,极大地避免了网络延迟带给应用的瓶颈。
申请公布号 CN106599184A 申请公布日期 2017.04.26
申请号 CN201611148198.3 申请日期 2016.12.13
申请人 西北师范大学 发明人 陈旺虎;马生俊;俞茂义;李金溶;郏文博
分类号 G06F17/30(2006.01)I;G06F3/06(2006.01)I;G06F11/14(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 济南鼎信专利商标代理事务所(普通合伙) 37245 代理人 曹玉琳
主权项 一种Hadoop系统优化方法,其特征在于:包括对HDFS数据分布存储阶段的优化和对MapReduce数据并行计算阶段的优化;其中,对HDFS数据分布存储阶段的优化包括以下步骤:步骤1.1、选择DataNode:根据Hadoop集群内每个DataNode的磁盘使用率选择具有存储能力的DataNode用于存储数据;步骤1.2、对选出的DataNode排序:将已选择的DataNode根据其计算能力的大小降序排序;步骤1.3、放置数据:按照步骤1.2产生的顺序采用同向增量的轮循方法,将所有Block的备份存储到选出的DataNode;对MapReduce数据并行计算阶段的优化包括以下步骤:步骤2.1、生成执行队列Q:各TaskTracker将存储在本地的Block的备份按Block编号和备份编号的增序进行排序生成各自的执行队列q,优先考虑备份编号;HDFS默认备份数是3,第i个Block的备份为R<sub>i</sub><sup>0</sup>、R<sub>i</sub><sup>1</sup>、R<sub>i</sub><sup>2</sup>,所有TaskTracker的执行队列q统称为执行队列Q;步骤2.2、执行R<sup>0</sup>备份:各TaskTracker顺序地执行自己队列q中备份编号为0的备份R<sup>0</sup>,当有一个TaskTracker执行完自己队列q中R<sup>0</sup>的备份时停止执行任务;同时,JobTracker通知其他TaskTracker执行完当前任务后停止执行任务;步骤2.3、更新执行队列Q:在JobTracker的协调下,各TaskTracker从自己的执行队列q中删除所有已经被处理的Block的相同备份;步骤2.4、检查执行队列Q是否为空,若空则停止执行任务;步骤2.5、执行R<sup>1</sup>备份:各TaskTracker顺序地执行自己队列q中备份编号为1的备份R<sup>1</sup>,当有一个TaskTracker执行完自己队列q中R<sup>1</sup>的备份时停止执行任务;同时,JobTracker通知其他TaskTracker执行完当前任务后停止执行任务;步骤2.6、更新执行队列Q:在JobTracker的协调下,各TaskTracker从自己的执行队列q中删除所有已经被处理的Block的相同备份;步骤2.7、检查执行队列Q是否为空,若空则停止执行任务;步骤2.8、执行R<sup>2</sup>备份:各TaskTracker顺序地执行自己队列q中备份编号为2的备份R<sup>2</sup>,当有一个TaskTracker执行完自己队列q中R<sup>2</sup>的备份时停止执行任务;同时,JobTracker通知其他TaskTracker执行完当前任务后停止执行任务;步骤2.9、更新执行队列Q:在JobTracker的协调下,各TaskTracker从自己的执行队列q中删除所有已经被处理的Block的相同备份;步骤2.10、检查执行队列Q是否为空,若空则停止执行任务;步骤2.11、针对性执行:检查是否还存在个别Block的备份未进行处理,在JobTracker的协调下将没有处理的Block的备份进行最后一次针对性处理。
地址 730070 甘肃省兰州市安宁区967号