第二十二章 HDFS—多目录


一、NameNode多目录配置

1.概述

# NameNode的本地目录可以配置成多个,且每个目录存放内容相同,增加了可靠性

2.具体配置

#1.在hdfs-site.xml文件中添加如下内容

     dfs.namenode.name.dir
     file://${hadoop.tmp.dir}/dfs/name1,file://${hadoop.tmp.dir}/dfs/name2


ps:因为每台服务器节点的磁盘情况不同,所以这个配置配完之后,可以选择不分发

3.停止集群

# 删除三台节点的data和logs中所有数据
[delopy@hadoop102 hadoop]$ rm -rf data/ logs/
[delopy@hadoop103 hadoop]$ rm -rf data/ logs/
[delopy@hadoop104 hadoop]$ rm -rf data/ logs/

4.格式化集群并启动

[delopy@hadoop102 hadoop]$ hdfs namenode -format
[delopy@hadoop102 hadoop]$ start-dfs.sh

5.查看结果

[delopy@hadoop102 dfs]$ ll
总用量 12
drwx------. 3 delopy delopy 4096 12月 11 08:03 data
drwxrwxr-x. 3 delopy delopy 4096 12月 11 08:03 name1
drwxrwxr-x. 3 delopy delopy 4096 12月 11 08:03 name2

检查name1和name2里面的内容,发现一模一样。

二、 DataNode多目录配置

1.概述

# DataNode可以配置成多个目录,每个目录存储的数据不一样(数据不是副本)

2.具体配置

在hdfs-site.xml文件中添加如下内容

     dfs.datanode.data.dir
     file://${hadoop.tmp.dir}/dfs/data1,file://${hadoop.tmp.dir}/dfs/data2

3.查看结果

#1.查看结果
[delopy@hadoop102 dfs]$ ll
总用量 12
drwx------. 3 delopy delopy 4096 4月   4 14:22 data1
drwx------. 3 delopy delopy 4096 4月   4 14:22 data2
drwxrwxr-x. 3 delopy delopy 4096 12月 11 08:03 name1
drwxrwxr-x. 3 delopy delopy 4096 12月 11 08:03 name2

#2.向集群上传一个文件,再次观察两个文件夹里面的内容发现不一致(一个有数一个没有)
[delopy@hadoop102 hadoop]$ hadoop fs -put wcinput/word.txt /

三、集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性)

#1.生成均衡计划
[delopy@hadoop102 ~]$ hdfs diskbalancer -plan hadoop103

#2.执行均衡计划
[delopy@hadoop102 ~]$ hdfs diskbalancer -execute hadoop103.plan.json

#3.查看当前均衡任务的执行情况
[delopy@hadoop102 ~]$ hdfs diskbalancer -query hadoop103

#4.取消均衡任务
[delopy@hadoop102 ~]$ hdfs diskbalancer -cancel hadoop103.plan.json

相关