Sparrow(SOSP13)—一种加速短作业的调度方法

七月 16th, 2013 by klose | 1 Comment | Filed in 互联网应用, 海量数据存储与处理

背景: 当前大规模数据分析框架的发展朝着两个趋势在变化: 1)任务执行时间更短。 2)更大的任务并行度。 因此,在当前分布式计算框架的调度系统中,需要有所改变,以满足如下的需求: 1)更快的任务调度效率,mill-seconds级别。 2)良好的容错,High Availability. 3)较高的吞吐率,High Throughput. 分析一下:什么原因会造成多任务的作业执行时间较长? 1)作业内任务分配不合理,在同样的并行层次上,任务执行逻辑和处理的数据量不一致,从而拉长整个作业的执行时间。以MapReduce为例的大数据分析框架中,数据是等分的,并且,处理逻辑是一致的,因此,该问题仅仅出现在以DAG、或者具有Data-Skew的数据逻辑中。 2)调度的不均衡性。根据Hadoop作业调度的情况,作业的执行时间由最为执行时间最长的任务决定。例如,Hadoop调度的一个MapTask到

Tags: , , , ,

HDFS HA-Quorum Journal Manager

七月 8th, 2013 by klose | 4 Comments | Filed in 互联网应用, 海量数据存储与处理

1、背景 HDFS HA,即NameNode单点故障问题,一直是关系到HDFS稳定性最为重要的特性。之前Hadoop0.23初探系列文章中,介绍了HDFS的Federeation概况、配置与部署的情况,以及有关HA的相关概念。  Hadoop0.23.0初探1—前因后果 Hadoop0.23.0初探2—HDFS Federation部署 Hadoop0.23.0初探3—HDFS NN,SNN,BN和HA HDFS HA的发展经历了如下几个阶段: 1)手动恢复阶段。手动备份fsimage、fsedits数据,NN故障之后,重启hdfs。这是最早期使用的办法,由于早期数据量、机器规模、以及对应用的影响还比较小,该方案勉强坚持了一段时间。 2)借助DRBD、HeartbeatHA实现主备切换。 使用DRBD实现两台物理机器之间块设备的同步,即通过网络实现Raid1,辅以Heartbeat HA实现两台机器动态角色切换,对外(DataNode、DFSClient)使用虚IP来统一配置。这种策略,可以

Tags: , , , , ,

深入分析HBase-Phoenix执行机制与原理

七月 1st, 2013 by klose | 2 Comments | Filed in 互联网应用, 海量数据存储与处理

针对HBase上SQL解决方案,目前社区内比较热门的有Cloudera的Impala,Horntworks的Drill,以及Hive。根据与HBase的操作方式,可以分为三种: 以MapReduce为核心,单个任务使用hbase-client原始接口访问; 以Google Dremel为核心,单个任务使用hbase-client原始接口访问; 以HBase-Coprocessor为核心,结合Google Dremel的思想,客户端合并多个节点的处理结果。 Phoenix的安装: 1)git clone https://github.com/forcedotcom/phoenix.git 2)安装apache-maven,可以自行google 3)mvn process-sources 4)mvn package -DskipTests 5)拷贝phoenix-{versionid}.jar到HBASE_HOME/lib/下,重启RS 6)java -jar phoenix-{versionid}-client.jar $(zkquorum) example/web_stat.sql example/web_stat.csv //导入数据 7)java -jar phoenix-{versioni

Tags: , , ,