【大数据之Hadoop】二十五、生产调优-HDFS核心参数

文章详细介绍了Hadoop3.x中NameNode的内存动态分配策略,通常NameNode内存最小1G,每增1百万物理块加1G。DataNode内存最低4G,按物理块或副本数量调整。NameNode的心跳并发配置建议为20xln(DataNode台数),并介绍了如何开启和使用回收站功能,包括文件存活时间和回收站检查间隔的设置。
摘要由CSDN通过智能技术生成

1 NameNode内存生产配置

Hadoop3.x系列的NameNode内存是动态分配的,可以用jmap -heap 进程号 查看分配的内存。
在hadoop102中NameNode和DataNode的内存都是自动分配的,且相等。

根据经验:
NameNode最小值为1G,每增加1百万个物理块则增加1G内存。
DataNode最小值为4G,物理块的数量或者副本的数量增加都要增大DataNode的值,一个DataNode上的副本总数低于4百万则调为4G,超过4百万时每增加1百万的副本则增加1G内存。

配置文件:hadoop-env.sh

exportHDFS_NAMENODE_OPTS="-Dhadoop.security.logger=INFO,RFAS -Xmx1024m"
exportHDFS_DATANODE_OPTS="-Dhadoop.security.logger=ERROR,RFAS -Xmx1024m"

2 NameNode心跳并发配置

集群中有NameNode,DataNode需要向NameNode汇报注册相关信息,同时客户端也会向NameNode进行请求执行任务,所以NameNode需要准备多少个线程连接DataNode的汇报。
在这里插入图片描述
根据经验:dfs.namenode.handler.count=20xln(集群规模,即DataNode台数),比如此时台数为3,则应该设置20xln3=21。
配置文件:hdfs-site.xml

<--The number of Namenode RPC serverthreads that listen to requests from clients. Ifdfs.namenode.servicerpc-address is not configured then Namenode RPC server threadslisten to requests from all nodes.
NameNode有一个工作线程池,用来处理不同DataNode的并发心跳以及客户端并发的元数据操作。
对于大集群或者有大量客户端的集群来说,通常需要增大该参数。默认值是10。
-->
<property>
   <name>dfs.namenode.handler.count</name>
   <value>21</value>
</property>

3 开启回收站配置

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

注意:从HDFS文件系统的网页上直接删除的文件和通过程序删除的文件不会回收到回收站。
在这里插入图片描述
参数说明:

(1)文件存活时间fs.trash.interval ,默认为0即禁用回收站,数值单位为分钟。

(2)检查回收站的间隔时间fs.trash.checkpoint.interval,默认为0即该值与文件存活时间fs.trash.interval 相等。

(3)要求:检查回收站的时间间隔要<=文件存活时间,即fs.trash.checkpoint.interval <= fs.trash.interval。

通过程序删除文件需要调用moveToTrash()才会回收到回收站。

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

通过命令行hadoop fs -rm 删除的文件会回收到回收站。
在这里插入图片描述
恢复回收站的数据:把回收站里的文件移出来。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值