Hadoop分布式存储所需要的评价指标,降低副本数到1.5的方法和思路,存储解决方案_第1页
Hadoop分布式存储所需要的评价指标,降低副本数到1.5的方法和思路,存储解决方案_第2页
Hadoop分布式存储所需要的评价指标,降低副本数到1.5的方法和思路,存储解决方案_第3页
Hadoop分布式存储所需要的评价指标,降低副本数到1.5的方法和思路,存储解决方案_第4页
Hadoop分布式存储所需要的评价指标,降低副本数到1.5的方法和思路,存储解决方案_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

针对一个Hadoop分布式存储解决方案,回答如下问题:分析评价一个Hadoop分布式存储解决方案,需要哪些指标?RpcProcessingTimeAvgTime(PRC处理的平均时间)通常HDFS在异常任务突发大量访问时,这个参数会突然变得很大,导致其他用户访问HDFS时,会感觉到卡顿,从而影响任务的执行时间CallQueueLength(RPCCall队列的长度)如果callqueue队列数值一直处于较高的水平,例如对于NN来说CallQueue的长度等于handler*100,也就是说NN可能收到了大量的请求或者server在处理rpc请求时耗时很长,导致call堆积等进程JVM监控MemHeapUsedM(堆内存使用监控)通过监控参数可以查看进程的gc时间和gc发生之后释放多少内存和进程的内存使用情况ThreadsBlocked(线程阻塞数量)分析当问题发生时进程的线程阻塞状况ThreadsWaiting(线程等待数量)分析当问题发生时进程的线程等待状况NameNode监控指标TotalFiles(总的文件数量)监控和预警文件数的总量,可以通过其看出是否有任务突然大量写文件和删除大量文件PercentUsed(集群HDFS使用百分比)监控集群的HDFS的使用情况,使用率不宜太高,因为需要预留磁盘空间给任务计算使用BlockPoolUsedSpace(该集群namespace的HDFS使用容量大小)可以监控不同namespace的HDFS的使用情况Total(集群HDFS总容量大小)显示集群整体容量情况Used(集群HDFS已使用的容量大小)集群HDFS使用情况,可以预警是否需要增加机器和删除无用数据NumLiveDataNodes(存活的DN数量)NumDeadDataNodes(丢失的DN数量)丢失节点,如果过多可能会引起丢块VolumeFailuresTotal坏盘的数量)应该设定阀值,达到一定数量时处理MissingBlocks(丢失的block数量)丢失重要的块会引起任务报错DataNode监控指标ReadBlockOpAvgTime(读取block的平均时间)可选的监控选项,如果该机器在某个时段平均时间突然升高,可能磁盘读取速度存在问题ResouceManager监控指标NumActiveNMs(NM存活节点数量监控)有时节点会因为磁盘空间不足等原因导致进程退出,虽然集群具有容错机制,但当丢失节点达到一定数量之后,集群计算资源相当于减少了,所以应当设置合理的阀值报警处理NumUnhealthyNMs(NM不健康节点数量监控)通常会因为磁盘问题导致节点不健康集群应用数量监控AppsSubmitted(app提交数量)之前集群有出现过app的id号生成很慢的情况,可以通过改数值和其他参数去判断提交减少的问题AppsRunning(app的运行数量)可以通过改值去对比历史同一时刻的app的运行数量是否差异很大,去判断集群到底是否可能出现问题AppsFailed(app失败数量)如果AppsFailed数量升高,说明集群的存在导致app批量失败的操作集群资源使用量情况监控AllocatedMB(已分配的内存大小)如果集群用户反应任务运行缓慢,应该及时检查队列资源的使用情况和HDFS的响应速度Hadoop为保证数据的可靠性,副本备份数是3。是否可以降低这个数目并且保证文件存储系统的可靠性和性能?副本备份数是否可以降低到1・5或者更低?可以降低副本数,通过修改hdfs-site.xml中的dfs.replication参数:<property><name>dfs.replication</name><value>2</value></property>可以应用ErasureCoding(纠删码)将副本备份数降低到1.5或者更低。如果要将副本数目降低到1.5,请给出量化分析的思路、技术指标和计算过程,详细描述副本备份数减少后的存储解决方案。通过上网搜索得到的有关技术文档,可根据如下链接给出解决方案,将副本数目降低到1.5。/docs/r3.0.0/hadoop-project-dist/hadoop-hdfs/HDFSErasureCoding.html/blog/2015/09/introduction-to-hdfs-erasure-coding-in-apache-hadoop//2018/02/07/erasure-coding-changes-hadoop-storage-economics/Hadoop3.0引入了纠删码技术(ErasureCoding),它可以提高50%以上的存储利用率,并且保证数据的可靠性。纠删码技术(Erasurecoding)简称EC,是一种编码容错技术。最早用于通信行业,数据传输中的数据恢复。它通过对数据进行分块,然后计算出校验数据使得各个部分的数据产生关联性。当一部分数据块丢失时,可以通过剩余的数据块和校验块计算出丢失的数据块。纠删码技术可以将n份原始数据,增加m份数据(用来存储erasure编码),并能通过n+m份中的任意n份数据,还原为原始数据。定义中包含了encode和decode两个过程,将原始的n份数据变为n+m份是encode,之后这n+m份数据可存放在不同的device上,如果有任意小于m份的数据失效,仍然能通过剩下的数据还原出来。也就是说,通常n+m的erasure编码,能容m块数据故障的场景,这时候的存储成本是1+m/n,通常mvn。因此,通过erasure编码,我们能够把副本数降到1.5或者更低。下图简单的演示,首先有原始数据n个,然后加入m个校验数据块。

Parity部分是校验数据块,一行数据块称为Stripe条带,每行条带由n个数据块和m个校验块组成。原始数据块和校验数据块都可以通过现有的数据块进行恢复,原则如下:如果校验数据块发生错误,通过对原始数据块进行编码重新生成如果原始数据块发生错误,通过校验数据块的解码可以重新生成Reed-Solomon(RS)码是存储系统较为常用的一种纠删码,它有两个参数k和m,记为RS(k,m)。k个数据块组成一个向量被乘上一个生成矩阵(GeneratorMatrix)GT从而得到一个码字(codeword)向量,该向量由k个数据块和m个校验块构成。如果一个数据块丢失,可以用(GT)-1乘以码字向量来恢复出丢失的数据块。RS(k,m)最多可容忍m个块(包括数据块和校验块)丢失。以n=5,m=3为例,即5个原始数据块,乘上一个(n+m)*n的矩阵,然后得出一个(n+m)*1的矩阵。根据矩阵特点可以得知结果矩阵中前面5个值与原来的5个数据块的值相等,而最后3个则是计算出来的校验块。n00n00000D0000n00000n00000D是原始数据块,得到的C为校验块。假设丢失了m块数据。如下:\3\°\3\°000°D000°D000°D0000B典B掾B施B基B找艮:B蓟跟B轴那我们从剩余的n个数据块(这里剩余的n块可能包含几个原始数据块和几个校验块)恢复出来原始的n个数据块的过程,就需要通过下面的decoding(解码)过程来实现。第一步:从编码矩阵中删去丢失数据块和丢失编码块对应行。将删掉m个块的(n+m)*l个矩阵变形为n*1矩阵,同时B矩阵也需要删掉对应的m个行得出一个B'的变形矩阵,这个B'就是n*n矩阵。如下:假设Dl、D4、C2丢失,我们得到如下B'矩阵及等式。3D3DJL000oin000000nB打B疫B疫B汀B站Survivors第二步:求出B'的逆矩阵。212100000000&0000BD02664DBD5invertBDSurvivorso_n00000n00000°—阮B“第三步:等式两边分别乘上B'的逆矩阵。B'和它的逆矩阵相乘得到单位矩阵I,如下:1□00000001000001000001左边只剩下原始数据矩阵D:d4至此完成解码过程。RS的特点包括:低冗余度,高磁盘利用率;数据恢复代价高。丢失数据块或者编码块时,RS需要读取n个数据块和校验块才能恢复数据,数据恢复效率也在一定程度上制约了RS的可靠性。数据更新代价高。数据更新相当于重新编码,代价很高,因此常常针对只读数据,或者冷数据。传统模式下HDFS中文件的基本构成单位是block,而EC模式下文件的基本构成单位是blockgroupoHDFSEC的架构设计同样遵从主从结构,有一个中心的管理对象(ECManager),然后有对应的worker对象(ECWorker),这2大角色类有明确的分工。ECManager:EC管理对象会做许多事情,比如协调数据恢复、健康检测、blockGroup的管理等等ECWorker:执行EC数据恢复相关的操作EC数据恢复的时候,HDFS是通过ECPolicy进行控制的,每个EC策略对应一种ECSchema参数配置的EC算法。同时这些ECPolicy策略对象被ErasureCodingPolicyManager对象所掌管。目前ErasureCodingPolicyManager对象中维护了以下3种EC策略:privatestaticfinalErasureCodingPolicySYS_POLICY1=newErasureCodingPolicy(ErasureCodeConstants.RS_6_3_SCHEMA,DEFAULT_CELLSIZE,HdfsConstants.RS_6_3_POLICY_ID);privatestaticfinalErasureCodingPolicySYS_POLICY2=newErasureCodingPolicy(ErasureCodeConstants.RS_3_2_SCHEMA,DEFAULT_CELLSIZE,HdfsConstants.RS_3_2_POLICY_ID);privatestaticfinalErasureCodingPolicySYS_POLICY3=newErasureCodingPolicy(ErasureCodeConstants.RS_6_3_LEGACY_SCHEMA,DEFAULT_CELLSIZE,HdfsConstants.RS_6_3_LEGACY_POLICY_ID);以上几个对象的上下层级关系图如下:综上所述,最后给出HDFSEC设计文档中的总架构设计图:NameNodeDataNodeECWorker丨甲扫必亦ECWorkerDalaNodeECWorkerDataNodeECManagerB/pcfiGroupSlockGroup[ECSchemaNameNodeDataNodeECWorker丨甲扫必亦ECWorkerDalaNodeECWorkerDataNodeECManagerB/pcfiGroupSlockGr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论