一、NameNode多目录配置
1.概述
# NameNode的本地目录可以配置成多个,且每个目录存放内容相同,增加了可靠性
2.具体配置
#1.在hdfs-site.xml文件中添加如下内容
<property>
<name>dfs.namenode.name.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/name1,file://${hadoop.tmp.dir}/dfs/name2</value>
</property>
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文件中添加如下内容
<property>
<name>dfs.datanode.data.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/data1,file://${hadoop.tmp.dir}/dfs/data2</value>
</property>
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