【CSDN现场报道】中国IT界技能盛会——Hadoop与大数据技能大会(Hadoop&BigData Technology Conference 2012,HBTC 2012)于2012年11月30日-12月1日在北京新云南皇冠沐日旅馆谨慎召开。本次大会以“大数据共享与开放技能”为主题,聚焦于Hadoop与大数据,力邀数十位海表里Hadoop及大数据技能应用的产学界人士和实践企业,探讨大数据技能生态系统的近况和成长趋势,并环绕Hadoop与大数据热点技能和应用实践举办深入理会。
阿里团体焦点系统研发部技能专家王琤向与会者分享了题为“Hadoop Namenode机能诊断及优化”的演讲,主要先容了今朝淘宝Hadoop集群在现实中碰着的NameNode机能问题。针对这些机能问题,王琤先容淘宝举办profiling的要领、相关东西及最终定位等。
阿里团体焦点系统研发部技能专家 王琤
阿里团体焦点系统研发部技能专家王琤向与会者分享了题为“Hadoop Namenode机能诊断及优化”的演讲,主要先容了今朝淘宝Hadoop集群在现实中碰着的MameNode机能问题。针对这些机能问题,王琤先容淘宝举办profiling的要领、相关东西及最终定位等。阿里HDFS的先容及NameNode机能挑战
从Hadoop“打酱油”
王琤先对阿里焦点系统研发部专用计较组做了具体的先容,其事情范畴主要有以下三个方面:其一是针对特定规模问题及差异硬件架构,以计较机能、效能为导向的优化;其二是Java虚拟机定制、优化,基于OpenJDKVM,定制打造TaobaoJVM并开源;其三是恒久、一连为阿里Hadoop开拓、运维团队提供处事,并从“Hadoop打酱油”。
在他形象地将“阿里从Hadoop打酱油”的过程中,有GC invisible heap(GCIH)用于Hadoop,在Worker历程间直接共享Java工具,也有实现操作SSE4.2 crc32指令的JVM intrinsic加快校验,尚有实现操作Packed Comparison SIMD指令的JVM intrinsic加快Map sort进程并优化prefixKey,以及在Hadoop集群推广TaobaoJVM替换OpenJDKVM。除此以外,压缩算法优化及基于FPGA,MIPS的压缩卡在Hadoop上应用预研以及办理Hadoop集群上JVM相关疑难杂症办理:JVM crash,GC异常等也相当引人注目。
阿里hadoop集群HDFS近况
在各人最为体贴的“阿里hadoop集群HDFS近况”中,阿里内部将之称为“云梯”。今朝局限约为3200台,是世界最大的单namespace集群。其NameNode设置为:双路Xeon E5520,196G内存;今朝NameNode机能指标是,CPU操作率30%,FileOps+Heartbeat1.5万每秒,平均RpcProcessingTime3ms,平均RpcQueueTime60ms。而今朝云梯开拓、运维团队一连应对机能挑战有两方面,是监控和优化。
详细来看,HDFS机能挑战中,来自团队的反应的问题主要会合在以下几个方面:呆板增加,queue time提高,影响集群机能;CPU操作率不高,但感受仍有潜力可挖;RPC框架部门和DFS实现部门以及IO部门随后优化,但能晋升几多还需要验证等。
现阶段,王琤地址团队的方针就是“快速定位NameNode上的问题,并锁定重点猜疑工具举办优化调解,搂草打兔子,顺便看看有没有CPU热点并举办消除。”
NameNodeRPC详解
NameNode RPC详解
阿里团体鬼厉的博客中有一张图,很是清晰地揭示出了NameNode RPC。个中间就是RPC的框架部门。
在RPC框架诊断中,第一步必需有东西,工欲善其事必先利其器,要对整个NameNode造成很大的压力,却又不能耗损太多的资源。“必然要轻,要能发生多connection”,所以阿里手写了一个,实现了这一方针。第二步是要阐明Java措施的CPU热点。这里显然很贫苦,对付Java开拓好一些,但对C、C++开拓,都需要有硬件PM常识,可以对产生的事件举办定位。阿里有专门的编译器从理会器中拿出并举办编译,最终成为真正的CPU执行指令,而这部门的事情是动态的,传统的东西一般是不支持的。颠末无数实验,阿里最终投向了Linux社区,英特尔的开拓人员在个中有很大浸染,阿里可以直接实现借力。
有了东西之后,RPC诊断功效一般有三类:Queue实现,LinkedBlockingQueue;明明CPU热点:UTF8/Unicode转码;Log4j,机能大累赘。对付第一类而言,CPU Cache miss很高,多核,一个Queue,进出Queue等的本钱很大。所以机能思量上可提高的点许多,这是用Java实现的。
这就涉及到RPC多行列优化。对付多行列而言,一个Handler一个Queue,按callid分派,3行代码修改,最简朴且有效。尔后尚有多行列优化结果,UTF8/Unicode转码优化及结果,多行列+转码优化结果,DFS诊断,DFS优化并更新锁等演示。