更新时间:2023-03-17 GMT+08:00

配置内存管理

配置场景

在HDFS中,每个文件对象都需要在NameNode中注册相应的信息,并占用一定的存储空间。随着文件数的增加,当原有的内存空间无法存储相应的信息时,需要修改内存大小的设置。

配置描述

参数入口

请参考修改集群服务配置参数,进入HDFS“全部配置”页面。

表1 参数说明

配置参数

说明

默认值

GC_PROFILE

NameNode所占内存主要由FsImage大小决定。FsImage Size = 文件数 * 900 Bytes,根据计算结果可估算hdfs的NameNode应设内存大小。

该参数项的内存大小取值如下:

  • high:4G
  • medium:2G
  • low:256M
  • custom:根据实际数据量大小在GC_OPTS中设置内存大小。

custom

GC_OPTS

JVM用于gc的参数。仅当GC_PROFILE设置为custom时该配置才会生效。需确保GC_OPT参数设置正确,否则进程启动会失败。

须知:

请谨慎修改该项。如果配置不当,将造成服务不可用。

-Xms2G -Xmx4G -XX:NewSize=128M -XX:MaxNewSize=256M -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=128M -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=65 -XX:+PrintGCDetails -Dsun.rmi.dgc.client.gcInterval=0x7FFFFFFFFFFFFFE -Dsun.rmi.dgc.server.gcInterval=0x7FFFFFFFFFFFFFE -XX:-OmitStackTraceInFastThrow -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=1M -Djdk.tls.ephemeralDHKeySize=2048