HDFS副本存放策略

数据分块存储和副本的存放,是保证可靠性和高性能的关键
将每个文件的数据进行分块存储,每一个数据块又保存有多个副本。这些数据块副本分布在不同的机器节点上

设置备份数

方法一:配置文件hdfs-site.xml
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>

方法二:通过命令修改备份数
    bin/hadoop fs -setrep -R 1 /
    hadoop fs -setrep -R 3 hdfs://master:9000/

注意:方法二可以改变整个HDFS里面的备份数,不需要重启HDFS系统,
     方法一需要重启HDFS系统才能生效。

副本存放位置:

默认的同一份数据的副本,会有3个
    第一份:存放到本机器的HDFS目录下
    第二份:存放到不同于第一份所在的机架上的另外一个机架上的某台服务器上
    第三份:存放在该机架下的随机一台机器上  
    更多的副本:选择任意一台服务器上进行存储

NameNode如何选择在哪个datanode存储副本,这里需要对可靠性,写入带宽和读取带宽进行权衡。例如,吧所有副本都存储在一个节点损失的写入带宽最小,因为复制pipeline都在同一个节点上运行,但这并不提供真实的冗余(如果节点发生故障,那么该块中的数据就会丢失)。同时,同一机架上服务器间的读取带宽是很高的。另一个极端,把副本放在不同的数据中心可以最大限度的提高冗余度,但是带宽的消耗非常大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值