欧博真人平台

欧博会员网址    你的位置:欧博真人平台 > 欧博会员网址 >

开云三公博彩平台免70. _一篇学会Hadoop3数据容错时间

发布日期:2023-10-24 06:37    点击次数:156

开云三公博彩平台免70. _一篇学会Hadoop3数据容错时间

开云三公博彩平台免70. _[[422245]]

本文转载自微信公众号「大数据时间派」太平洋在线炸金花,作家柯少。转载本文请联系大数据时间派公众号。

182281足球比分 配景

跟着大数据时间的发展,HDFS动作Hadoop的中枢模块之一取得了等闲的应用。为了数据的可靠性,HDFS通过多副本机制来保证。在HDFS中的每一份数据都有两个副本,1TB的原始数据需要占用3TB的磁盘空间,存储运用率只消1/3。而且系统中大部分是使用频率特别低的冷数据,却和热数据相似存储3个副本,给存储空间和网罗带宽带来了很大的压力。因此,在保证可靠性的前提下怎样提高存储运用率已成为现时HDFS濒临的主要问题之一。Hadoop 3.0 引入了纠删码时间(Erasure Coding),它不错提高50%以上的存储运用率,况兼保证数据的可靠性。纠删码时间(Erasure coding)简称EC,是一种编码容错时间。最早用于通讯行业,数据传输中的数据收复。它通过对数据进行分块,然后计较出校验数据,使得各个部分的数据产生关联性。当一部分数据块丢失机,不错通多余余的数据块和校验块计较出丢失的数据块。

旨趣

Reed-Solomon(RS)码是存储系统较为常用的一种纠删码,它有两个参数k和m,记为RS(k,m)。如下图所示,k个数据块组成一个向量被乘上一个生成矩阵(Generator Matrix)GT从而取得一个码字(codeword)向量,该向量由k个数据块和m个校验块组成。要是一个数据块丢失,不错用(GT)-1乘以码字向量来收复出丢失的数据块。RS(k,m)最多可容忍m个块(包括数据块和校验块)丢失。图片比如:咱们有 7、8、9 三个原始数据,通过矩阵乘法,计较出来两个校验数据 50、122。这时原始数据加上校验数据,一共五个数据:7、8、9、50、122,不错任性丢两个,然后通过算法进行收复。

bob综合国际体育官方入口

比如:咱们有 7、8、9 三个原始数据,通过矩阵乘法,计较出来两个校验数据 50、122。这时原始数据加上校验数据,一共五个数据:7、8、9、50、122,不错任性丢两个,然后通过算法进行收复。

网络赌博娱乐城
7 太平洋在线炸金花x 50 y x + 2*8 + 3 * 9 = y 4x + 5*8 + 6 * 9 = 122 
HDFS EC 决策

传统模式下HDFS华文献的基本组成单元是block,而EC模式下文献的基本组成单元是block group。以RS(3,2)为例,每个block group包含3个数据块,2个校验块。

贯串布局(Contiguous Layout)

文献数据被步骤写入块中,一个块写满之后再写入下一个块,这种漫衍方式称为贯串布局。优点:

容易达成 浮浅和多副本存储政策进行调理

盘曲:

ag官网 需要客户端缓存弥漫的数据块 不合适存储小文献

条形布局(Striping Layout)

条(stripe)是由多少个相易大小的单元(cell)组成的序列。文献数据被步骤写入条的各个单元中,当一个条写满之后再写入下一个条,一个条的不同单元位于不同的数据块中。这种漫衍方式称为条形布局。优点:

皇冠客服飞机:@seo3687 客户端缓存数据较少 无论文献大小都适用

盘曲:

会影响一些位置明锐任务的性能,因为原先在一个节点上的块被区别到了多个不同的节点上 和多副本存储政策调理比拟残害

HDFS EC 开拓忖度打算

通盘HDFS EC风景主要分为两个阶段:1、用户不错读和写一个条形布局(Striping Layout)的文献;要是该文献的一个块丢失,后台大致查验出并收复;要是在读的经过中发现数据丢失,大致立即解码出丢失的数据从而不影响读操作。2、赞助将一个多副本模式(HDFS原有模式)的文献调理成贯串布局(Contiguous Layout),以及从贯串布局调理成多副本模式。第一阶段 HDFS-7285 仍是达成,第二阶段 HDFS-8030 正在进行中。

纠删码政策

皇冠代理管理端

RS-10-4-1024k:使用RS编码,每10个数据单元(cell),生成4个校验单元,共14个单元,也等于说:这14个单元中,只消有任性的10个单元存在(不管是数据单元如故校验单元,只消总和=10),就不错取得原始数据。每个单元的大小是1024k=10241024=1048576。RS-3-2-1024k:使用RS编码,每3个数据单元,生成2个校验单元,共5个单元,也等于说:这5个单元中,只消有任性的3个单元存在(不管是数据单元如故校验单元,只消总和=3),就不错取得原始数据。每个单元的大小是1024k=10241024=1048576。RS-6-3-1024k:使用RS编码,每6个数据单元,生成3个校验单元,共9个单元,也等于说:这9个单元中,只消有任性的6个单元存在(不管是数据单元如故校验单元,只消总和=6),就不错取得原始数据。每个单元的大小是1024k=10241024=1048576。RS-LEGACY-6-3-1024k:政策和上头的RS-6-3-1024k相似,仅仅编码的算法用的是rs-legacy,应该是之前留传的rs算法。XOR-2-1-1024k:使用XOR编码(速率比RS编码快),每2个数据单元,生成1个校验单元,共3个单元,也等于说:这3个单元中,只消有任性的2个单元存在(不管是数据单元如故校验单元,只消总和=2),就不错取得原始数据。每个单元的大小是1024k=10241024=1048576。

以RS-6-3-1024k为例,6个数据单元+3个校验单元,不错容忍任性的3个单元丢失,冗余的数据是50%。而采用副本方式,3个副本,冗余200%,却还不可容忍任性的3个单元丢失。因此,RS编码在相易冗余度的情况下,会大大擢升数据的可用性,而在相易可用性的情况下,会大大从简冗余空间。

纠删码基本操作

1.检讨现时赞助的纠删码政策,大呼如下:

开云三公
[user@nn1  ~]$ hdfs ec -listPolicies  Erasure Coding Policies: ErasureCodingPolicy=[Name=RS-10-4-1024k, Schema=[ECSchema=[Codec=rs, numDataUnits=10, numParityUnits=4]], CellSize=1048576, Id=5, State=DISABLED] ErasureCodingPolicy=[Name=RS-3-2-1024k, Schema=[ECSchema=[Codec=rs, numDataUnits=3, numParityUnits=2]], CellSize=1048576, Id=2, State=DISABLED] ErasureCodingPolicy=[Name=RS-6-3-1024k, Schema=[ECSchema=[Codec=rs, numDataUnits=6, numParityUnits=3]], CellSize=1048576, Id=1, State=DISABLED] ErasureCodingPolicy=[Name=RS-LEGACY-6-3-1024k, Schema=[ECSchema=[Codec=rs-legacy, numDataUnits=6, numParityUnits=3]], CellSize=1048576, Id=3, State=DISABLED] ErasureCodingPolicy=[Name=XOR-2-1-1024k, Schema=[ECSchema=[Codec=xor, numDataUnits=2, numParityUnits=1]], CellSize=1048576, Id=4, State=DISABLED] 

2.竖立纠删码政策

纠删码政策是与具体的旅途(path)关联联的。也等于说,要是咱们要使用纠删码,则要给一个具体的旅途竖立纠删码政策,后续,总共往此目次下存储的文献,欧博会员网址都会实施此政策。例子如下 领先在/下创建目次rs-6-3,然后检讨其是否竖立了纠删码政策,截止泄露莫得指定政策(新建的目次不会指定政策)。

hdfs://bigdata/dn1/path hdfs://bigdata/dn1/path2 
[user@nn1  ~]$ hdfs dfs -mkdir /rs-6-3  [user@nn1  ~]$ hdfs ec -getPolicy -path /rs-6-3  The erasure coding policy of /rs-6-3 is unspecified 

接下来,给此目次竖立纠删码政策RS-6-3-1024k,此政策名是从前边list政策中查到的。不错看到仍是竖立凯旋。

快感
[user[@nn1 ](/nn1 ) ~]$ hdfs ec -setPolicy -path /rs-6-3 -policy RS-6-3-1024k  Set erasure coding policy RS-6-3-1024k on /rs-6-3 

严防:RS-6-3-1024k不错径直竖立凯旋,其它的政策需要enable后,智商竖立:竖立RS-3-2-1024k,这个需要先enablePolicy

[user[@nn1 ](/nn1 ) hadoop-3.0.0-beta1]$ hdfs ec -enablePolicy  -policy RS-3-2-1024k  Erasure coding policy RS-3-2-1024k is enabled [user[@nn1 ](/nn1 ) hadoop-3.0.0-beta1]$ hdfs ec -setPolicy -path /rs-3-2 -policy RS-3-2-1024k  Set erasure coding policy RS-3-2-1024k on /rs-3-2 

考证:

[user[@nn1 ](/nn1 ) hadoop-3.0.0-beta1]$ hdfs ec -getPolicy -path /rs-3-2  RS-3-2-1024k 

竖立RS-10-4-1024k,要是不enablePolicy,会报错

[user[@nn1 ](/nn1 ) hadoop-3.0.0-beta1]$ hdfs dfs -mkdir /rs-10-4  [user[@nn1 ](/nn1 ) hadoop-3.0.0-beta1]$ hdfs ec -setPolicy -path /rs-10-4 -policy RS-10-4-1024k  

报错了 RemoteException: Policy 'RS-10-4-1024k' does not match any enabled erasure coding policies: [RS-3-2-1024k, RS-6-3-1024k]. An erasure coding policy can be enabled by enableErasureCodingPolicy API.

3.上传文献,检讨文献编码情况

皇冠博彩平台您提供多样化博彩游戏赛事直播,全面、优质博彩攻略技巧分享,您博彩游戏中尽情享受乐趣收益。平台安全稳定,操作简便,充值提款便捷,您提供最佳博彩体验最高博彩收益。

底下咱们上传一个文献看一下,这里教导咱们莫得使用ISA-L赞助的编码器(这个编码器和CPU优化相连合,成果更高,需要重新编译和建立,咱们后续再讲)

[user@nn1 ~]$ hdfs dfs -cp /profile /rs-6-3/ 2017-11-30 10:24:29,620 WARN erasurecode.ErasureCodeNative: ISA-L support is not available in your platform... using builtin-java codec where applicable 

检讨profile编码后的漫衍

[user@nn1 ~]$ hdfs fsck /rs-6-3/profile  -files -blocks -locations 

输出:

Connecting to namenode via http://nn1:9870/fsck?ugi=user&files=1&blocks=1&locations=1&path=/rs-6-3/profile FSCK started by user (auth:SIMPLE) from /192.168.182.11 for path /rs-6-3/profile at Thu Nov 30 10:57:12 EST 2017 /rs-6-3/profile 1872 bytes, erasure-coded: policy=RS-6-3-1024k, 1 block(s):  OK 0. BP-529485104-192.168.182.11-1511810134643:blk_-9223372036854775792_1065 len=1872 Live_repl=4  [blk_-9223372036854775792:DatanodeInfoWithStorage[192.168.182.11:9866,DS-da58ee3e-adcc-4f6c-8488-c2a0b742d8b9,DISK], blk_-9223372036854775786:DatanodeInfoWithStorage[192.168.182.20:9866,DS-c36de658-0f5a-42de-8898-eab3b04c7016,DISK], blk_-9223372036854775785:DatanodeInfoWithStorage[192.168.182.14:9866,DS-a3569982-de52-42b5-8543-94578f8b452a,DISK], blk_-9223372036854775784:DatanodeInfoWithStorage[192.168.182.19:9866,DS-71be9468-c0c7-437c-8b59-ece27593b4c2,DISK]] 

检讨block文献的信息,不错看到nn1上block的大小偶合是1872。这是因为1872<1024k,因此无法分割,径直合座编码。

[user@nn1 ~]$ ls dfs/share/datanode/current/BP-529485104-192.168.182.11-1511810134643/current/finalized/subdir0/subdir0/blk_-9223372036854775792 -l -rw-rw-r--. 1 user user 1872 Nov 30 10:24 dfs/share/datanode/current/BP-529485104-192.168.182.11-1511810134643/current/finalized/subdir0/subdir0/blk_-9223372036854775792 

Live_repl=4的诠释,默示此文献共有4个副本,其中1个是原始数据,3个是校验数据,因此,这里的政策是rs_6_3,要保证冗余3个校验单元,原始数据1872<1024k,只可组成1个数据单元,再加上3个校验单元,等于4个副本了。1 block(s)的诠释:blocks是指数据单元在datanode的存储而言,1872<1024k,只消1个数据单元,因此只可分派到1个datanode,关于每个datanode,其block默许大小是256MB(hdfs3.0是256MB,hdfs2.x是128MB),1872远小于256MB,虽然只消1个block了,要是单个datanode上多个数据单元之和>256MB,这时才会生成新的block。再看一个

hdfs dfs -cp file:///home/user/jdk1.8.0_152/lib/ant-javafx.jar /rs-6-3/ 

此文献的大小是1224175>1024k,然则<2*1024k,也等于不错组成2个数据单元,加上3个校验单元,推测最终编码出来一共是5个副本。检讨下

[user@nn1 ~]$ hdfs fsck /rs-6-3/ant-javafx.jar  -files -blocks -locations 

尽然是

/rs-6-3/ant-javafx.jar 1224175 bytes, erasure-coded: policy=RS-6-3-1024k, 1 block(s):  OK 0. BP-529485104-192.168.182.11-1511810134643:blk_-9223372036854775776_1066 len=1224175 Live_repl=5  [blk_-9223372036854775776:DatanodeInfoWithStorage[192.168.182.11:9866,DS-da58ee3e-adcc-4f6c-8488-c2a0b742d8b9,DISK], blk_-9223372036854775775:DatanodeInfoWithStorage[192.168.182.18:9866,DS-2dc5d603-ad42-4558-bfda-c9a597f88f06,DISK], blk_-9223372036854775770:DatanodeInfoWithStorage[192.168.182.14:9866,DS-a3569982-de52-42b5-8543-94578f8b452a,DISK], blk_-9223372036854775769:DatanodeInfoWithStorage[192.168.182.20:9866,DS-c36de658-0f5a-42de-8898-eab3b04c7016,DISK], blk_-9223372036854775768:DatanodeInfoWithStorage[192.168.182.13:9866,DS-118ae8da-f820-447c-9d97-dbe4f33bff39,DISK]] 

检讨第一个block的大小(nn1),不错看到偶合是按照1024k来切分的

[user@nn1 ~]$ ls dfs/share/datanode/current/BP-529485104-192.168.182.11-1511810134643/current/finalized/subdir0/subdir0/blk_-9223372036854775776 -l -rw-rw-r--. 1 user user 1048576 Nov 30 10:30 dfs/share/datanode/current/BP-529485104-192.168.182.11-1511810134643/current/finalized/subdir0/subdir0/blk_-9223372036854775776 

检讨第二个block的大小(nn7),其大小是175599

[user@dn7 ~]$ ls dfs/share/datanode/current/BP-529485104-192.168.182.11-1511810134643/current/finalized/subdir0/subdir0/blk_-9223372036854775775 -l -rw-rw-r--. 1 user user 175599 Nov 30 11:54 dfs/share/datanode/current/BP-529485104-192.168.182.11-1511810134643/current/finalized/subdir0/subdir0/blk_-9223372036854775775 

第一个block 1048576 + 第二个block 175599 = 1224175,偶合是ant-javafx.jar的大小。为什么第二个block莫得补皆1024k呢?因为补皆的话,亦然填0,莫得必要。第三个block~第五个block是校验数据。

数据收复考证(datanode dead的时辰斥逐是10m)

咱们以ant-javafx.jar为例,它有5个副本,漫衍在:

192.168.182.11 192.168.182.18 192.168.182.14 192.168.182.20 192.168.182.13 

其中2个原始数据单元、3个校验数据单元,意味着不错容忍任性3个数据单元的丢失。底下,咱们关闭后3个节点上的datanode

192.168.182.14 192.168.182.20 192.168.182.13 

然后从/rs-6-3目次中复制ant-javafx.jar到腹地/tmp目次,并和腹地的ant-javafx.jar比拟,正确,阐明数据莫得问题。

[user@nn1 ~]$ hdfs dfs -cp /rs-6-3/ant-javafx.jar file:///tmp/ 2017-11-30 13:12:36,493 WARN erasurecode.ErasureCodeNative: ISA-L support is not available in your platform... using builtin-java codec where applicable [user@nn1 ~]$ diff jdk1.8.0_152/lib/ant-javafx.jar /tmp/ant-javafx.jar 

再关掉一个节点,鄙人面的节点

192.168.182.18 

初始

[user@dn7 ~]$ hdfs --daemon stop datanode 

在nn1上再次复制 报错,因为丢失的数据单元个数>3了

cp: 4 missing blocks, the stripe is: Offset=0, length=175599, fetchedChunksNum=0, missingChunksNum=4 

在dn3上启动datanode,再次复制 发现如故报错,说192.168.182.18上数据丢失,这是为什么呢?检讨HDFS气象,发现刚才关闭的dn3 dn9 dn2 dn7仍然是live的,这是因为datanode的气象有一个刷新的斥逐,这个斥逐默许是10m(600s),只消10m莫得收到datanode的讯息,namenode才觉得此datanode是dead的。因此,恭候10m后,不错看到HDFS的live nodes形成了7。

这个时候,再次复制,DFSClient就知谈dn7是dead,就不会再选拔dn7了,转而选拔其它的live节点,因此复制凯旋。

[user@nn1 ~]$ hdfs dfs -cp /rs-6-3/ant-javafx.jar file:///tmp/ 2017-11-30 13:26:35,241 WARN erasurecode.ErasureCodeNative: ISA-L support is not available in your platform... using builtin-java codec where applicable cp: `file:///tmp/ant-javafx.jar': File exists 

将dn2、dn7、dn9收复,启动datanode,再次检讨。

[user@nn1 ~]$ hdfs fsck /rs-6-3/ant-javafx.jar  -files -blocks -locations Connecting to namenode via http://nn1:9870/fsck?ugi=user&files=1&blocks=1&locations=1&path=/rs-6-3/ant-javafx.jar FSCK started by user (auth:SIMPLE) from /192.168.182.11 for path /rs-6-3/ant-javafx.jar at Thu Nov 30 13:29:30 EST 2017 /rs-6-3/ant-javafx.jar 1224175 bytes, erasure-coded: policy=RS-6-3-1024k, 1 block(s):  OK 0. BP-529485104-192.168.182.11-1511810134643:blk_-9223372036854775776_1066 len=1224175 Live_repl=5  [blk_-9223372036854775776:DatanodeInfoWithStorage[192.168.182.11:9866,DS-da58ee3e-adcc-4f6c-8488-c2a0b742d8b9,DISK], blk_-9223372036854775770:DatanodeInfoWithStorage[192.168.182.14:9866,DS-a3569982-de52-42b5-8543-94578f8b452a,DISK], blk_-9223372036854775769:DatanodeInfoWithStorage[192.168.182.19:9866,DS-71be9468-c0c7-437c-8b59-ece27593b4c2,DISK], blk_-9223372036854775768:DatanodeInfoWithStorage[192.168.182.16:9866,DS-c32fdd4e-aa34-4b65-b192-643ade06d71b,DISK], blk_-9223372036854775775:DatanodeInfoWithStorage[192.168.182.18:9866,DS-2dc5d603-ad42-4558-bfda-c9a597f88f06,DISK]] 

发现数据单元的漫衍发生了变化。

博彩平台免70.

德雷森表示:“我们理解并尊重索默希望前往国米寻求新挑战的愿望,因为他希望能够长期出任第一门将。在诺伊尔重伤之后,索默帮助我们脱离了困境,我们感谢他的奉献,也祝愿他未来一切顺利。”

192.168.182.11  192.168.182.14  192.168.182.19  192.168.182.16  192.168.182.18 

 

其中绿色部分,应该是在这些节点关闭后,hdfs重新启动译码和编码,将本来丢失的数据补到了dn8和dn5上。而dn8莫得去掉,可能是还没来得及。总之,要是编码后的stripe中,罕有据丢失,hdfs会自动启动收复责任。

皇冠hg86a

 



上一篇:没有了

下一篇:太平洋在线现金网博彩平台游戏礼包_昔日千亿上市房企摘牌,A股股票再无“蓝光”

Powered by 欧博真人平台 @2013-2022 RSS地图 HTML地图

皇冠体育导航皇冠体育皇冠现金网皇冠客服新2网址

top