2016-02-29 102 views
2

最初我有两台机器来设置hadoop, spark, hbase, kafka, zookeeper, MR2。每台机器都有16GB的RAM。我使用Apache Ambari来安装上述服务的两台机器。Ambari缩放内存的所有服务

现在我已将每台机器的内存升级到128GB。

现在我该如何告诉Ambari放大其所有服务以利用额外的内存?

我是否需要了解如何为这些服务配置内存?

Ambari文档中是否包含此部分?

回答

1

我用这个https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.4.0/bk_installing_manually_book/content/determine-hdp-memory-config.html

此外,的SmartSense是必须http://docs.hortonworks.com/HDPDocuments/SS1/SmartSense-1.2.0/index.html

我们需要定义核心,内存,磁盘,如果我们使用HBase的或不那么脚本将提供纱线和MapReduce内存设置。

[email protected] scripts]# python yarn-utils.py -c 8 -m 128 -d 3 -k True 
    Using cores=8 memory=128GB disks=3 hbase=True 
    Profile: cores=8 memory=81920MB reserved=48GB usableMem=80GB disks=3 
    Num Container=6 
    Container Ram=13312MB 
    Used Ram=78GB 
    Unused Ram=48GB 
    yarn.scheduler.minimum-allocation-mb=13312 
    yarn.scheduler.maximum-allocation-mb=79872 
    yarn.nodemanager.resource.memory-mb=79872 
    mapreduce.map.memory.mb=13312 
    mapreduce.map.java.opts=-Xmx10649m 
    mapreduce.reduce.memory.mb=13312 
    mapreduce.reduce.java.opts=-Xmx10649m 
    yarn.app.mapreduce.am.resource.mb=13312 
    yarn.app.mapreduce.am.command-opts=-Xmx10649m 
    mapreduce.task.io.sort.mb=5324 

除此之外,我们有公式来做手动计算。我试着用这个设置,它为我工作。

2

Ambari计算安装时每个服务的内存使用情况的建议设置。因此,安装后的内存更改不会扩大。您将不得不为每项服务手动编辑这些设置。为了做到这一点,您需要了解如何为每项服务配置内存。我不知道任何推荐每个服务的内存配置值的Ambari文档。我会建议以下路线之一:

1)看看每个服务文档(YARN,Oozie,Spark等),并看看他们推荐什么内存相关的参数配置。

2)看看Ambari代码,它计算这些内存参数的建议值,并使用这些方程式来提出新的值来说明增加的内存。