yarn JobHistoryServer如何设置内存大小
时间: 2023-09-07 08:12:06 浏览: 63
要设置YARN JobHistoryServer的内存大小,需要编辑YARN配置文件:yarn-site.xml。具体步骤如下:
1. 打开yarn-site.xml文件。
2. 在文件中添加以下属性:
```
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2048</value>
<description>Amount of physical memory, in MB, that can be allocated for containers.</description>
</property>
```
3. 将value的值设置为所需的内存大小(以MB为单位)。例如,如果要将JobHistoryServer的内存大小设置为2GB,则需要将value设置为2048。
4. 保存并关闭yarn-site.xml文件。
5. 重启YARN集群以使更改生效。
注意:在设置内存大小时,需要确保将足够的内存留给其他YARN组件运行,例如NodeManagers和ResourceManager。
相关问题
yarn 如何设置AppMaster 内存
在 YARN 中,可以通过以下两种方式设置 AppMaster 的内存:
1. 通过在提交应用程序时使用命令行参数来设置内存大小:
```
yarn jar <your-app-jar> <your-app-class> -Xmx<your-memory-size>
```
其中,`-Xmx` 参数用于设置 AppMaster 的最大堆大小。
2. 通过在 `yarn-site.xml` 配置文件中设置 `yarn.app.mapreduce.am.resource.mb` 属性来设置内存大小。该属性表示 AppMaster 的最大内存限制,以 MB 为单位。例如,设置为 2048 表示 AppMaster 的最大内存限制为 2GB。
```
<property>
<name>yarn.app.mapreduce.am.resource.mb</name>
<value>2048</value>
</property>
```
注意,这种方式设置的内存大小会影响所有提交的应用程序的 AppMaster 内存大小。因此,如果需要针对某个特定的应用程序设置不同的内存大小,应该使用第一种方式进行设置。
启动jobhistoryserver报错Error starting JobHistoryServer org.apache.hadoop.yarn.exceptions.YarnRuntimeException: Error creating done directory: [hdfs://cdh1:8020/user/history/done]
这个错误通常表示JobHistoryServer无法在HDFS中创建目录来存储其输出数据。
以下是解决此问题的几个步骤:
1. 检查HDFS服务是否正常运行,并且已创建所需的目录。您可以使用Hadoop HDFS命令行界面来检查HDFS的状态。
2. 确保运行JobHistoryServer的用户具有在HDFS中创建目录所需的权限。您可以通过运行命令"hdfs dfs -ls /user/history"来检查这一点,并验证用户是否具有对目录的写访问权限。
3. 检查core-site.xml配置文件,确保"fs.defaultFS"属性设置为正确的HDFS namenode地址。
4. 验证yarn-site.xml配置文件中的"yarn.log-aggregation.retain-seconds"参数设置为大于零的值。
5. 检查是否存在任何网络或防火墙问题,阻止JobHistoryServer访问HDFS。
如果这些步骤都没有解决问题,您可能需要寻求Hadoop或YARN社区或Hadoop专家的帮助。