欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > Hadoop3:参数调优-核心参数NameNode内存配置、并发数配置、回收站配置

Hadoop3:参数调优-核心参数NameNode内存配置、并发数配置、回收站配置

2025/7/13 21:40:12 来源:https://blog.csdn.net/Brave_heart4pzj/article/details/140145356  浏览:    关键词:Hadoop3:参数调优-核心参数NameNode内存配置、并发数配置、回收站配置

一、内存配置

1、NameNode内存计算

假设,每个文件块大概占用150byte,一台服务器128G内存为例,能存储多少文件块呢?
128 * 1024 * 1024 * 1024 / 150Byte ≈ 9.1亿
G MB KB Byte

2、Hadoop3.x系列,配置NameNode内存

我的虚拟机内存是2G内存。

查看NameNodeDataNode占用内存

[atguigu@hadoop102 ~]$ jps 查看所有进程ID
2241 Jps
2163 JobHistoryServer
2004 NodeManager
1685 DataNode
1561 NameNode
[atguigu@hadoop102 ~]$ jmap -heap 1561	查看NameNode的内存情况
MaxHeapSize              = 520093696 (496.0MB)
[atguigu@hadoop102 ~]$ jmap -heap 1685
MaxHeapSize              = 520093696 (496.0MB)

3、官方建议

在这里插入图片描述
经验参考:
https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_hardware_requirements.html#concept_fzz_dq4_gbb

4、修改配置调优内存

hadoop-env.sh

export HDFS_NAMENODE_OPTS="-Dhadoop.security.logger=INFO,RFAS -Xmx1024m"
export HDFS_DATANODE_OPTS="-Dhadoop.security.logger=ERROR,RFAS -Xmx1024m"

修改完毕后,分发文件到集群其他节点,重启Hadoop。

5、验证配置结果

发现,内存已经变成1G了。
在这里插入图片描述

二、并发数配置

1、概述

NameNode需要处理客户端的请求,同时也要接受DatanNode的心跳通知。
在这里插入图片描述

2、计算

那么,并发数配置多少合适?怎么计算?怎么配置?
这个并发数,主要影响根据集群节点数,进行计算。
公式:
d f s . n a m e n o d e . h a n d l e r . c o u n t = 20 ∗ l o g e C l u s t e r S i z e dfs.namenode.handler.count=20*log_e^{ClusterSize} dfs.namenode.handler.count=20logeClusterSize

Python计算
在这里插入图片描述
我的是3个节点,经过计算,并发数配置为21比较合适。

3、修改配置

hdfs-site.xml

<!-- 
NameNode有一个工作线程池,用来处理不同DataNode的并发心跳以及客户端并发的元数据操作。
对于大集群或者有大量客户端的集群来说,通常需要增大该参数。默认值是10。
-->
<property><name>dfs.namenode.handler.count</name><value>21</value>
</property>

分发配置,并重启Hadoop

三、回收站配置

1、概述

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。

2、原理说明

在这里插入图片描述
(1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。
(2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。
(3)要求fs.trash.checkpoint.interval <= fs.trash.interval

3、开启回收站配置

core-site.xml

<property><name>fs.trash.interval</name><value>1</value>
</property>

保存,分发并重启Hadoop。

4、测试

命令行删除文件

hadoop fs -rm /cls.txt

在这里插入图片描述在这里插入图片描述
1分钟后,回收站清空,因为我们设置的保存时间就是1分钟。
在这里插入图片描述

命令行恢复回收站数据

hadoop fs -mv /user/atguigu/.Trash/Current/user/atguigu/input /user/atguigu/input

注意

1、通过网页上直接删除的文件也不会走回收站。
2、通过Java程序删除的文件不会经过回收站,需要调用moveToTrash()才进入回收站。

Trash trash = New Trash(conf);
trash.moveToTrash(path);

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词