HDFS 优化

单节点多块磁盘数据均衡 

生成HDFS块均衡计划

hdfs diskbalancer -plan node1

执行均衡计划,node1.plan.json均衡计划文件

hdfs diskbalancer -execute node1.plan.json

查看当前均衡任务的执行情况

hdfs diskbalancer -query node1

取消均衡任务hdfs diskbalancer -cancel node1.plan.json
修改均衡计划触发阈值hdfs diskbalancer -plan node1 --thresholdPercentage 0.01

默认的thresholdPercentage值为10%,这意味着仅当磁盘包含的数据比理想存储值多10%或更少时,磁盘才用于平衡操作。

均衡操作示例

 均衡后

多节点之间的数据均衡

sbin/start-balancer.sh -threshold 10

 可选参数

-threshold

磁盘容量百分比,集群平衡的条件

datanode间磁盘使用率相差阈值,区间:0~100

-exclude排除指定的数据节点
-include仅包括指定的数据节点

对于参数10,代表的是集群中各个节点的磁盘空间利用率相差不超过10%,可根据实际情况进行调整。

sbin/stop-balancer.sh

注意:由于HDFS需要启动单独的Rebalance Server来执行Rebalance操作,所以尽量不要在NameNode上执行start-balancer.sh,而是找一台比较空闲的机器。

NameNode节点故障恢复

删除NameNode节点中的NameNode元数据

# 伪代码
rm -rf <hdfs-site.xml_dfs.namenode.name.dir>/*
# 示例
rm -rf /home/tools/hadoop/hadoop-3.1.3/data/namenode/*


拷贝namesecondary中的备份镜像文件进行恢复

# 伪代码
cp -r <core-site.xml_hadoop.tmp.dir>/dfs/namesecondary/* <hdfs-site.xml_dfs.namenode.name.dir>
## 示例
cp -r /home/tools/hadoop/hadoop-3.1.3/data/temp/dfs/namesecondary/* /home/tools/hadoop/hadoop-3.1.3/data/namenode/

重启NameNode就恢复了

集群安全模式修复

强制退出安全模式

hdfs dfsadmin safemoode forceExit

删除损坏块

hdfs fsck -delete /

两个集群之间的数据拷贝

<hadoop_home>/bin/hadoop distcp hdfs://node1:8020/data/hello.txt hdfs://mini1:8020/hello.txt

小文件存档

归档文件(将/user/input 目录下的所有文件归档成input.har文件存储在/user/output目录下)

hadoop archive -archiveName input.har -p /input /output

查看归档文件(使用har协议可以查看归档的文件名称也可以查看文件内容)

hadoop fs -ls har:///output/input.har

解归档文件

hadoop fs -cp har:///output/input.har/* /input/

HDFS回收站(修改配置文件<hdoop_home/>)

NameNode内存计算

 NameNode内部记录 文件,目录,以及块的元数据信息
下面记录单个对象占用的NameNode内存空间大小

文件		File 	= 112+名称长度13   		约125字节
目录		Dir  	= 144+名称长度11		约155字节
块	        Block	= 112+24*副本数3		约184字节

HDFS单节点如下问题

namespace命名空间限制namenode把所有元数据存储在内存中,单个namenode所能存储的对象(文件+目录+块)有限制
性能瓶颈(吞吐量)整个hdfs文件系统的吞吐量受限于单个namenode的吞吐量
单点故障hdfs给出了Federation(联邦)和HA(高可用)的方式处理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小钻风巡山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值