Hadoop中的副本、校验和(数字指纹)、block

1.副本:为了系统容错,文件系统会对所有的数据块进行副本复制

1.副本生成和数量

在数据块被写入HDFS的过程中,NameNode会根据副本策略决定每个数据块的副本数量和存储位置,Hadoop默认副本数量是3,每个数据块的副本会被存放在不同的DataNode节点上,以确保数据的高可用和容错性。

第一个副本,如果客户端是集群外的一台机器,就会随机存放在一个DataNode节点上(系统会避免存放在太忙碌的节点)

第二个副本,存放在不同机架上的随机DataNode节点

第三个副本,存放在与第二个副本相同的机架但是不同的DataNode节点上

2.校验和(Checksum)

在数据块被写入HDFS的过程中,客户端会将输入的文件按照block块的大小切分为多个数据块,对于每个数据块,客户端会计算其校验和,并将这些校验和一起存储在一个单独的校验和文件中,这些校验和文件和实际的数据块被一起存放在DataNode中,用于后续的数据完整性的校验。

当客户端从HDFS中下载数据时,NameNode会提供数据块的位置(包括副本的位置),客户端会根据这些位置从DataNode中下载数据块和校验和文件

客户端逐个读取数据块,并计算每个数据块的校验和,将计算得到的校验和与从校验和文件中读取的校验和进行比较,如果校验和匹配,说明这个数据快是完整且未被篡改的

如果校验和不匹配,客户端会从其他的DataNode中下载该数据块的副本,并重新进行校验。

3.block块

数据块,磁盘读写的基本单位,hadoop2.0默认大小是128M

块增大可以减少寻址时间,但是也不宜过大,块过大会导致整体任务数量过小,降低作业处理速度

相关推荐
DolphinScheduler社区41 分钟前
# 3.1.8<3.2.0<3.3.1,Apache DolphinScheduler集群升级避坑指南
java·大数据·开源·apache·任务调度·海豚调度
智海观潮2 小时前
HBase高级特性、rowkey设计以及热点问题处理
大数据·hadoop·hbase
Pota-to成长日记2 小时前
Redisson 看门狗机制深度解析:分布式锁的守护者
分布式·wpf
zskj_qcxjqr2 小时前
七彩喜理疗艾灸机器人:传统中医与现代科技的融合创新
大数据·人工智能·科技·机器人
AutoMQ2 小时前
活动回顾 | AutoMQ 新加坡 TOKEN2049:展示高效 Web3 数据流基础设施
大数据·web3
龙山云仓3 小时前
迈向生成式软件制造新纪元:行动纲领与集结号
大数据·人工智能·机器学习·区块链·制造
武子康4 小时前
大数据-121 - Flink 时间语义详解:EventTime、ProcessingTime、IngestionTime 与 Watermark机制全解析
大数据·后端·flink
wangtianlang09125 小时前
深入理解Java多线程编程中的锁机制与性能优化策略
分布式
刀客Doc5 小时前
刀客doc:亚马逊广告再下一城,拿下微软DSP广告业务
大数据·人工智能·microsoft
小麦矩阵系统永久免费6 小时前
短视频矩阵系统哪个好用?2025最新评测与推荐|小麦矩阵系统
大数据·人工智能·矩阵