第3章、HDFS_多目录

生产环境下集群搭建时就需配置,如果投入使用在配置,会造成一定的数据损失

3.1、NameNode多目录配置

1)NameNode的本地目录可以配置成多个,且每个目录存放内容相同,增加了可靠性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5thYp29O-1653445797848)(../../_resources/f556347b0951fd0f4a80872dca67a0bc-3.png)]

  1. 具体配置如下
    (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>

注意:因为每台服务器节点的磁盘情况不同,所以这个配置配完之后,可以选择不分发(我分发了)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0E5ojHNl-1653445797849)(../../_resources/8c907f849ea74aced3a3aa1970a1a80d-3.png)]

(2)停止集群,删除三台节点的 data 和 logs 中所有数据。

[pcz@hadoop1 hadoop-3.1.3]$ pczhd stop
[pcz@hadoop1 hadoop]$ rm -rf /opt/module/hadoop-3.1.3/data/ /opt/module/hadoop-3.1.3/logs/
[pcz@hadoop2 ~]$ rm -rf /opt/module/hadoop-3.1.3/data/ /opt/module/hadoop-3.1.3/logs/
[pcz@hadoop3 ~]$ rm -rf /opt/module/hadoop-3.1.3/data/ /opt/module/hadoop-3.1.3/logs/

(3)格式化集群并启动。

[pcz@hadoop1 hadoop-3.1.3]$ cd /opt/module/hadoop-3.1.3/
[pcz@hadoop1 hadoop-3.1.3]$ bin/hdfs namenode -format
[pcz@hadoop1 hadoop-3.1.3]$ sbin/start-dfs.sh

3)查看结果

[pcz@hadoop1 hadoop-3.1.3]$ ll /opt/module/hadoop-3.1.3/data/dfs/
总用量 0
drwx------. 3 pcz root 40 1月  10 19:22 data
drwxr-xr-x. 3 pcz root 40 1月  10 19:22 name1
drwxr-xr-x. 3 pcz root 40 1月  10 19:22 name2

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

3.2 DataNode 多目录配置

1)DataNode 可以配置成多个目录,每个目录存储的数据不一样(数据不是副本)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-73sTGr9W-1653445797849)(../../_resources/3bd4c995768731785a7c89d626afa346-3.png)]

2)具体配置如下
(1)先关闭集群:pczhd.stop
(3)在 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)删除三台节点的 data 和 logs 中所有数据。

[pcz@hadoop1 hadoop]$ rm -rf /opt/module/hadoop-3.1.3/data/ /opt/module/hadoop-3.1.3/logs/
[pcz@hadoop2 ~]$ rm -rf /opt/module/hadoop-3.1.3/data/ /opt/module/hadoop-3.1.3/logs/
[pcz@hadoop3 ~]$ rm -rf /opt/module/hadoop-3.1.3/data/ /opt/module/hadoop-3.1.3/logs/

(4)格式化namenode:

[pcz@hadoop1 hadoop]$ cd /opt/module/hadoop-3.1.3/
[pcz@hadoop1 hadoop-3.1.3]$ bin/hdfs namenode -format

3)查看结果

[pcz@hadoop1 hadoop-3.1.3]$ sbin/start-dfs.sh
[pcz@hadoop1 hadoop-3.1.3]$ ll /opt/module/hadoop-3.1.3/data/dfs/
总用量 0
drwx------. 3 pcz root 40 1月  10 19:36 data1
drwx------. 3 pcz root 40 1月  10 19:36 data2
drwxr-xr-x. 3 pcz root 40 1月  10 19:36 name1
drwxr-xr-x. 3 pcz root 40 1月  10 19:36 name2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4DKm6fyy-1653445797850)(../../_resources/401570c5ab41af9baa7f611980afb90f-3.png)]

4)向集群上传一个文件,再次观察两个文件夹里面的内容发现不一致(一个有数一个没有)

[pcz@hadoop1 hadoop-3.1.3]$ hadoop fs -put a.txt /put

3.3 集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x 新特性)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GrojeaCD-1653445797850)(../../_resources/ec9bb1fda21df1b1328bbca6b38c1e54-3.png)]

(1)生成均衡计划(我们只有一块磁盘,不会生成计划)
hdfs diskbalancer -plan hadoop1
(2)执行均衡计划
hdfs diskbalancer -execute hadoop1.plan.json
(3)查看当前均衡任务的执行情况
hdfs diskbalancer -query hadoop1
(4)取消均衡任务
hdfs diskbalancer -cancel hadoop1.plan.json

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

TryBest_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值