Hadoop集群修改数据副本

导论

    最近发现生产Hadoop集群磁盘利用率达到了60%,数据增长速度超出了预期。针对以上问题,提出了两种方案:

1、减少数据的副本
2、增加磁盘或节点

本文主要记录修改数据备份的过程。

步骤

1、修改hdfs-site.xml文件


        dfs.replication
        2

2、重启hdfs

./stop-dfs.sh
./start-dfs.sh

`注意`:一般重启集群的流程是:stop集群-修改配置文件-start集群。
我们的应用场景是HBase一直有数据写入,如果按照上面的流程,可能会出现HBase连接超时,从而导致数据丢失。
所以,采用了先改配置,再重启集群的方式。

3、验证


注意:上传到HDFS的数据,便只有两个备份了,该操作只针对后面新增的数据,而之前已存在的数据仍然是三个备份。

4、修改已存在数据的备份

命令格式: hdfs fs -setrep [-R] [-w]  
操作举例: hdfs dfs -setrep -R -w 2 /hbase

参数说明:

  • -R:作用于目录下所有子目录的数据(向后兼容)
  • -w:等待副本复制完成
  • -rep:numReplicas,修改后的备份数
  • -path:需要修改备份的HDFS上的目录下

     命令执行过程中,会比较耗时,也有可能会中断(原因暂时不明),中断后可多试几次,该命令执行的过程中不会影响数据的写入。

5、通过命令查看副本数情况

执行命令:hdfs fsck /

有上面可以看出,数据备份由3变成了2.5,说明语句产生了效果。

你可能感兴趣的:(Hadoop集群修改数据副本)