HDFS减少副本数

1.1 背景

由于最近集群磁盘报警频繁,需要对磁盘进行扩容或者清理

1.2 方案

方案:减少副本数

考虑到成本问题我们选择了暂时性的解决的方案减小副本数。操作如下:

1.2.1 修改副本数为2副本

在HADOOP的hdfs-site.xml中找到dfs.replication项,修改为2,分发同步到集群各个节点后,重启HDFS。

  <!-- 指定副本数  -->
    <property>
      <name>dfs.replication</name>
      <value>2</value>
    </property>

如果是datasophon管理hdfs,在页面修改
在这里插入图片描述

2、但这样只能保证新写入的块副本数变为2,原有块仍然是3副本,因此还需要执行命令

hdfs dfs -setrep 2 -R -w /dw

4.如果配置了Kerberos,需要使用hdfs用户认证Kerberos执行

5.执行报错解决

Caused by: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot set replication for /data/bid_project/bid_project_t_zx_bid_company_message/.hoodie/.aux/ckp_meta/20231212131336469.COMPLETED. Name node is in safe mode.
The reported blocks 1206 needs additional 36 blocks to reach the threshold 0.9990 of total blocks 1244.
The minimum number of live datanodes is not required. Safe mode will be turned off automatically once the thresholds have been reached. NamenodeHostName:datasophon01
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.newSafemodeException(FSNamesystem.java:1577)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkNameNodeSafeMode(FSNamesystem.java:1564)
        ... 14 more

6.关闭namenode安全模式

(1)bin/hdfs dfsadmin -safemode get                (功能描述:查看安全模式状态)
(2)bin/hdfs dfsadmin -safemode enter          (功能描述:进入安全模式状态)
(3)bin/hdfs dfsadmin -safemode leave        (功能描述:离开安全模式状态)
(4)bin/hdfs dfsadmin -safemode wait        (功能描述:等待安全模式状态)

其中/dw是指定的路径,也就是你需要将那个路径三副本变为2副本,-R参数则表示包含子目录。 通过执行

说明HDFS中的“fsck”命令用于检查文件系统的一致性和健康状况。它检查文件系统的元数据,验证文件和目录的完整性,并报告它发现的任何不一致或错误。

hdfs fsck /dw

命令,观察Average block replication一项,可以看出副本调整的过程是否已经完成。 最后我们发现缩小副本数后,某些数据节点的磁盘占用下降巨大。造成集群数据分布不均,因此需要进行 3、数据rebalance。

参考文章

《hadoop集群中存在配置较低的数据节点应用如何应对磁盘数据溢满的问题之rebalance》

链接: hdfs副本缩减

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值