Hadoop集群修改数据副本<dfs.replication>

导论

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

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

本文主要记录修改数据备份<dfs.replication>的过程。

步骤

1、修改hdfs-site.xml文件

<property>
        <name>dfs.replication</name>
        <value>2</value>
</property>

2、重启hdfs

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

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

3、验证


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

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

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

参数说明:

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

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

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

执行命令:hdfs fsck /

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 翻译: http://hadoop.apache.org/docs/stable/hadoop-project-d...
    金刚_30bf阅读 512评论 0 0
  • 一、系统参数配置优化 1、系统内核参数优化配置 修改文件/etc/sysctl.conf,添加如下配置,然后执行s...
    张伟科阅读 3,804评论 0 14
  • Zookeeper用于集群主备切换。 YARN让集群具备更好的扩展性。 Spark没有存储能力。 Spark的Ma...
    Yobhel阅读 7,370评论 0 34
  • 原文地址:http://www.cnblogs.com/zhangyinhua/p/7657937.html注:本...
    currynie阅读 1,887评论 0 2
  • hadoop是什么?HDFS与MapReduceHive:数据仓库,在HDFS之上,后台执行,帮你执行。faceb...
    Babus阅读 2,449评论 0 5