Hadoop2.7实战v1.0之JVM参数调优

Hadoop正式上线之前,首先要调整的是各个进程的JVM参数设置,特别是对于HDFS Namenode来说。

HDFS的JVM参数配置文件: hadoop-env.sh 

Namenode进程的JVM配置: HADOOP_NAMENODE_OPTS
Datanode进程的JVM配置: HADOOP_DATANODE_OPTS
client命令行的JVM配置: HADOOP_CLIENT_OPTS
对于Namenode而言, 由于元数据存储\操作都在内存中,所以Namenode JVM要根据集群规模设置,通常情况下换算公式为:

在HDFS中,任何block,文件或者目录在内存中均以对象的形式存储,每个对象约占150byte,如果有1000 0000个小文件,每个文件占用一个block,则namenode需要2G空间。如果存储1亿个文件,则namenode需要20G空间。这样namenode内存容量严重制约了集群的扩展。

Apache Hadoop JVM配置($HADOOP_HOME/etc/hadoop/hadoop-env.sh):

export HADOOP_NAMENODE_OPTS="-Dhadoop.security.logger=${HADOOP_SECURITY_LOGGER:-INFO,RFAS} -Dhdfs.audit.logger=${HDFS_AUDIT_LOGGER:-INFO,NullAppender} $HADOOP_NAMENODE_OPTS -Xmx2048M
export HADOOP_DATANODE_OPTS="-Dhadoop.security.logger=ERROR,RFAS $HADOOP_DATANODE_OPTS -Xmx2048M"

-Xmx标识进程使用最大的内存大小


CDH4/5 JVM配置(通过web http://172.168.1.136:7180/):
进入CDH4/5--》hdfs1/hdfs--》配置tab--》搜索"堆栈"关键字,
修改 namenode,datanode,journalnode,failover controller的java进程堆栈最大大小,保存,再重启集群生效.
namenode:8G
datanode:7G
journalnode:512M
failover controller:512M

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30089851/viewspace-2101322/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30089851/viewspace-2101322/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值