绝对完美解决hdfs datanode数据和磁盘数据分布不均调整(hdfs balancer )——经验总结_datanode balance(3)

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 调整balance的平衡比例:

将原来的%5 提高到20%,调整原则就是尽量先让balance影响到最需要平衡数据的节点。

简单说明一下:原有集群的hdfs占用率为80%,新增加3个节点后,集群hdfs的整体占用量为70%, 如果比例是%5的话,那么原有节点都在这个调整范围内,所以各个节点都要被balance,而接受balance的节点只有三个,所以轮到迫切需要balance的节点的概率就比较小;
如果调整到20%,那么原来使用量小于90%的节点都不会被balance,那几台占用量90%以上的节点才会被最先balance,这样只有3个节点符合这个条件,balance的精确性就高了很多。

综合以上两点,balance的效果好多了,解决了最紧迫的节点的磁盘占满的问题,balance的速度终于快于新增数据,20%时需要balance的数据为6TB左右,待这次balance结束后,再运行一次%5的balance,还有2TB的数据要balance,这样经过两次的balance的操作,集群基本平衡了。


hdfs dfsadmin -setBalancerBandwidth 52428800

nohup hdfs balancer -threshold 20 &

tail -F nohup.out

一、概述

hdfs 需要存写大量文件,有时磁盘会成为整个集群的性能瓶颈,所以需要优化 hdfs 存取速度,将数据目录配置多磁盘,既可以提高并发存取的速度,还可以解决一块磁盘空间不够的问题

Hadoop 环境部署可以参考我之前的文章:大数据Hadoop之——Hadoop 3.3.4 HA(高可用)原理与实现(QJM)

二、Hadoop DataNode多目录磁盘配置

1)配置hdfs-site.xml

在配置文件中$HADOOP_HOME/etc/hadoop/hdfs-site.xml添加如下配置:

<!-- dfs.namenode.name.dir是保存FsImage镜像的目录,作用是存放hadoop的名称节点namenode里的metadata-->
<property>
  <name>dfs.namenode.name.dir</name>
  <value>file:/opt/bigdata/hadoop/hadoop-3.3.4/data/namenode</value>
</property>
<!-- 存放HDFS文件系统数据文件的目录(存储Block),作用是存放hadoop的数据节点datanode里的多个数据块。 -->
<property>
    <name>dfs.datanode.data.dir</name>
    <value>/data1,/data2,/data3,/data4</value>
</property>

<!-- 设置数据存储策略,默认为轮询,现在的情况显然应该用“选择空间多的磁盘存”模式 -->
<property>
    <name>dfs.datanode.fsdataset.volume.choosing.policy</name>
    <value>org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy</value>
</property>

<!-- 默认值0.75。它的含义是数据块存储到可用空间多的卷上的概率,由此可见,这个值如果取0.5以下,对该策略而言是毫无意义的,一般就采用默认值。-->
<property>
    <name>dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction</name>
    <value>0.75f</value>
</property>

<!-- 配置各个磁盘的均衡阈值的,默认为10G(10737418240),在此节点的所有数据存储的目录中,找一个占用最大的,找一个占用最小的,如果在两者之差在10G的范围内,那么块分配的方式是轮询。 -->
<property>
  <name>dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold</name>         
  <value>10737418240</value>
</property>

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

并且后续会持续更新**

需要这份系统化资料的朋友,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值