hadoop3.x yarn 内存配置 作者:马育民 • 2022-01-05 10:15 • 阅读:10223 # 说明 yarn 内存默认配置都非常大,**nodemanager** **默认内存是 8G** 访问:http://hadoop1:8088/cluster/scheduler ,如下图: [![](https://www.malaoshi.top/upload/pic/hadoop/Snipaste_2022-03-16_10-30-51.png)](https://www.malaoshi.top/upload/pic/hadoop/Snipaste_2022-03-16_10-30-51.png) 而我们虚拟机 **没这么大的内存**,所以要根据 **物理内存** ,进行设置,**不要超过** 物理内存 # 查看linux内存 通过下面命令查看linux的内存(详细解释点击 [链接](https://www.malaoshi.top/show_1IX2X73zJZnU.html "链接")) ``` free -h ``` 执行结果如下: [![](https://www.malaoshi.top/upload/pic/linux/Snipaste_2022-01-04_22-17-13.png)](https://www.malaoshi.top/upload/pic/linux/Snipaste_2022-01-04_22-17-13.png) **解释:** - total: 内存总数 - used: 已经使用内存数 - free: 完全空闲内存 - shared: 多个进程共享的内存 - buffers: 用于块设备数据缓冲,记录文件系统metadata(目录,权限,属性等) - cached: 用于文件内容的缓冲 - available:真正剩余的可被程序应用的内存数 由于完全空闲 `3.6G`,所以分配 yarn内存为 `3G`,剩余 `0.6G` 给其他软件用 # 分配内存 ### 分配 nodemananger 内存 **注意:**这里只是演示,之后要改回 `8192`。因为内存太小,将 **无法同时运行2个程序**,而有时(如:oozie、flink)是需要同时运行2个程序的,此时将无法运行成功! **注意:**这里只是演示,之后要改回 `8192`。因为内存太小,将 **无法同时运行2个程序**,而有时(如:oozie、flink)是需要同时运行2个程序的,此时将无法运行成功! **注意:**这里只是演示,之后要改回 `8192`。因为内存太小,将 **无法同时运行2个程序**,而有时(如:oozie、flink)是需要同时运行2个程序的,此时将无法运行成功! 登录 `hadoop1` 修改 `yarn-site.xml` ``` vim /program/hadoop-3.0.3/etc/hadoop/yarn-site.xml ``` 增加下面内容: ``` yarn.nodemanager.resource.memory-mb 3072 ``` ### 容器最小申请内存(可略) 每个容器可以申请最小内存,默认1024。一般不需要改动 ``` yarn.scheduler.minimum-allocation-mb 1024 ``` ### 容器最大申请内存 每个容器可以申请最大内存,默认 `8192`,这里改为 `3072`,不能超过 nodemanager内存 ``` yarn.scheduler.maximum-allocation-mb 3072 ``` ### 关闭校验物理内存 防止执行程序报错 ``` yarn.nodemanager.pmem-check-enabled false ``` ### 关闭检查虚拟内存 要关闭,否则执行任务时可能报错,详见 [链接](https://www.malaoshi.top/show_1IX2EWMOCyjp.html "链接") ``` yarn.nodemanager.vmem-check-enabled false ``` # 同步文件 同步到 hadoop2: ``` rsync -av /program/hadoop-3.0.3/etc/hadoop/* root@hadoop2:/program/hadoop-3.0.3/etc/hadoop/ ``` 同步到 hadoop3: ``` rsync -av /program/hadoop-3.0.3/etc/hadoop/* root@hadoop3:/program/hadoop-3.0.3/etc/hadoop/ ``` # 重启 yarn 登录 hadoop2,执行下面命令: ``` stop-yarn.sh ``` ``` start-yarn.sh ``` # 查看内存 访问:http://hadoop1:8088/cluster/scheduler ,如下图,内存已经修改成功: [![](https://www.malaoshi.top/upload/pic/hadoop/Snipaste_2022-03-16_10-37-05.png)](https://www.malaoshi.top/upload/pic/hadoop/Snipaste_2022-03-16_10-37-05.png) 原文出处:http://malaoshi.top/show_1IX2XLev4YRD.html