Hadoop-HDFS

本文围绕Hadoop展开,介绍了新老节点的添加、退役及数据再平衡方法,如添加新节点要安装软件、同步配置等;还阐述了集群间数据迁移方式,包括scp和distcp命令;此外,讲解了小文件归档和解归档操作,以及Hadoop的备份机制,如链式传输和节点选择策略。

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

Hadoop新老节点的添加与数据在平衡
1)新节点的添加,在添加新节点后需要安装相关软件并同步相关配置在白名单中添加新节点,然后重启集群
2)在遇到服务器数据量不均衡的情况下可开启数据平衡
sbin/start-balancer.sh -threshold 10    10这个参数代表集群中各节点的磁盘空间利用率不超过10%,可根据实际情况调整
3)关于老节点的退役,首先需要自行创建一个黑名单文件比如
vim /opt/module/hadoop-3.1.3/etc/hadoop/blacklist
在更改hdfs-site.xml文件增加参数
<!-- 黑名单 -->
<property>
     <name>dfs.hosts.exclude</name>
     <value>/opt/module/hadoop-3.1.3/etc/hadoop/blacklist</value>
</property>
在分发到各个服务器,如果是第一次使用黑名单则需要重启集群,否则只需要刷新NameNode节点即可
hdfs dfsadmin -refreshNodes
可在web端查看节点状态,decommission in progress,说明数据节点正在复制块到其他节点

Hadoop集群间的数据迁移
1)scp实现两个远程主机之间的文件复制
scp -r hello.txt root@hadoop103:/user/root/hello.txt        // 推 push
scp -r root@hadoop103:/user/root/hello.txt  hello.txt        // 拉 pull
scp -r root@hadoop103:/user/root/hello.txt root@hadoop104:/user/root   //是通过本地主机中转实现两个远程主机的文件复制;如果在两个远程主机之间ssh没有配置的情况下可以使用该方式。
2)采用distcp命令实现两个Hadoop集群之间的递归数据复制
bin/hadoop distcp hdfs://hadoop102:8020/user/root/hello.txt hdfs://hadoop105:8020/user/root/hello.txt

Hadoop的小文件归档(不改变小文件文件,只是让NameNode把一堆小文件看成一个文件)
1)需要启动YARN进程
start-yarn.sh
2)归档文件
把/user/root/input目录里面的所有文件归档成一个叫input.har的归档文件,并把归档后文件存到/user/root/output路径下。
hadoop archive -archiveName input.har -p  /user/root/input   /user/root/output
3)查看归档
hadoop fs -ls har:///user/root/output/input.har
4)解归档文件
hadoop fs -cp har:/// user/root/output/input.har/*    /user/root

Hadoop的备份机制
1)Hadoop在设置副本数后在传入数据时会在接受到请求后通过NameNode检查目标文件是否存在,然后NameNode反馈是否可以上传,然后客户端请求发送第一个文件块上传到那几个DataNode服务器,NameNode会返回给它要上传的节点,在然后会挑选一个服务器上传数据,备份依靠链式传输,并逐级反馈接收情况。
2)在挑选备份数据的节点时,Hadoop会根据网络拓扑图来选择,它会尽量挑选不同节点的服务器来做备份提高容灾能力。对于节点感知有官方说明:http://hadoop.apache.org/docs/r3.1.3/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html#Data_Replication
3)源码查询:Crtl+n 查找BlockPlacementPolicyDefault,在该类中查找chooseTargetInOrder方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值