NameNode多目录

  1. NameNode的本地目录可以配置成多个,且每个目录存放内容相同,增加了可靠性,关闭Hdfs集群,在hdfs-site.xml文件中添加如下配置内容,该配置只需要修改主节点即可。

<property>
<name>dfs.namenode.name.dir</name>              
   <value>file:/home/briup/software/data/hadoop/hdfs/nn,file:/home/briup/software/data/hadoop/hdfs/nn1</value>
</property>
  1. 删除所有节点存储数据的目录(集群中每个节点执行如下命令)

rm -r /home/briup/software/data/hadoop/hdfs/nn/*

rm -r /home/briup/software/data/hadoop/hdfs/dn/*

rm -r /home/briup/software/data/hadoop/hdfs/snn/*

  1. 创建目录

mkdir /home/briup/software/data/hadoop/hdfs/nn1
  1. 主节点格式化集群,并启动集群

hdfs namenode -format
start-dfs.sh
集群启动之后可以检查nn和nn1是否内容一致

DataNode多目录

  1. DataNode可以配置成多个目录,每个目录存储的数据不一样(数据不是副本),关闭Hdfs集群,在hdfs-site.xml文件中添加如下内容

<property>
<name>dfs.datanode.data.dir</name>
   <value>file:/home/briup/software/data/hadoop/hdfs/dn,file:/home/briup/software/data/hadoop/hdfs/dn1</value>
</property>
  1. 创建dn1目录

mkdir /home/briup/software/data/hadoop/hdfs/dn1
3.重启集群
start-dfs.sh
  1. 向集群中上传文件,查看dn和dn1会发现一个有文件一个没有

集群中磁盘之间数据均衡

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

  1. 生成均衡计划

hdfs diskbalancer -plan master

1、哪个节点需要磁盘进行负载均衡,就在那个节点上生成均衡计划

2、如果计算机只有一个磁盘,不会生成均衡计划

  1. 执行均衡计划

hdfs diskbalancer -execute master.plan.json
  1. 查看当前均衡任务的执行情况

hdfs diskbalancer -query master
  1. 取消均衡任务

hdfs diskbalancer -cancel master.plan.json

最后修改: 2023年12月28日 星期四 17:14