0
点赞
收藏
分享

微信扫一扫

HDFS-核心参数

云卷云舒xj 2022-03-30 阅读 79
hadoop

NameNode内存生产配置

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

2)Hadoop2.x 系列,配置 NameNode 内存
NameNode 内存默认 2000m,如果服务器内存 4G,NameNode 内存可以配置 3g。在
hadoop-env.sh 文件中配置如下。
HADOOP_NAMENODE_OPTS=-Xmx3072m

3)Hadoop3.x 系列,配置 NameNode 内存

(1)hadoop-env.sh 中描述 Hadoop 的内存是动态分配的

 (2)查看 NameNode 占用内存

(3)查看 DataNode 占用内存

 查看发现 hadoop102 上的 NameNode 和 DataNode 占用内存都是自动分配的,且相等。
不是很合理。

经验参考:
https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_hardware_requirements.html#concept_fzz_dq4_gbb

 具体修改:hadoop-env.sh

重启集群后,查看内存

 

 

内存已经变了,根据这种方法,在实际生产中实际去修改内存

NameNode 心跳并发配置

 1)hdfs-site.xml

 企业经验:dfs.namenode.handler.count=20 × 𝑙𝑜𝑔 𝑒𝐶𝑙𝑣𝑡𝑢𝑒𝑠 𝑆𝑖𝑧𝑒 ,比如集群规模(DataNode 台
数)为 3 台时,此参数设置为 21。可通过简单的 python 代码计算该值,代码如下。

 

开启回收站配置

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

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,配置垃圾回收时间为 1 分钟。

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

修改完毕,重启集群

4 )查看回收站

首先删除一个文件

 

 5 )注意:通过网页上直接删除的文件也不会走回收站。

 6 ) 通过程序删除的文件不会经过回收站,需要调用 moveToTrash() 才进入回收站

 7 )只有在命令行利用 hadoop fs -rm 命令删除的文件才会走回收站。

 8 )恢复回收站数据

 

举报

相关推荐

0 条评论