hadoop hdfs 解决磁盘间数据不均衡问题

本文探讨了磁盘倾斜的原因,如扩容节点和磁盘大小不一致,及其导致的性能问题,包括影响本地计算效率、网络带宽利用率和磁盘资源分配。提供了一种脚本方案,用于平衡磁盘间的数据分布,提升整体系统性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、引起磁盘倾斜不均衡的可能原因有哪些 
(1)扩容节点,向集群中添加新的数据节点 
(2)数据节点之间的磁盘大小不一致

二、磁盘倾斜引起的性能问题 
(1)MR程序无法很好地利用本地计算的优势 
(2)机器之间无法达到更好的网络带宽使用率 
(3)机器磁盘无法利用

 

通过以下脚本可以解决磁盘间数据拷贝以实现磁盘间均衡

#!/bin/bash
src=$1
dest=$2
top=$3
srcDir='/opt/data'$src'/hdfs/current/BP-*/current/finalized'
destDir='/opt/data'$dest'/hdfs/current/BP-*/current/finalized'
#进入当前目录
cd $srcDir
#获取二级子目录空间前十的目录
dir=`du -k --max-depth=2 | sort -nr | awk 'length($2)>15' | head -$top | awk '{print substr($2,2)}'`
#将字符串转化维数组
arr=(${dir// / })  
j=0
for i in ${arr[@]}  
do 
let j=j+1
echo $j 
echo $srcDir$i
if [ -x "$destDir$i" ];then
echo $destDir$i
mv $srcDir$i/* $destDir$i
else
mkdir $destDir$i
echo $destDir$i
mv $srcDir$i/* $destDir$i
fi
done
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值