搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
Li_阴宅
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
milvus实战 | docker部署单机版_milvus docker
2
机器学习与语音助手:技术与应用
3
【AI绘图 丨 Stable_diffusion 系列教程二】— 无需配置环境 | Colab直接运行Stable Diffusion Web UI_colab webui
4
【大数据】Java同学入门Spark编程 —— 深入分析Spark任务调度的原理_java spark 详解
5
数据库使用SSL加密连接
6
企业内部、与合作伙伴/客户文档协作如何高效安全地收集资料?_企业伙伴间文件是审阅还是查收
7
7.8 W 字总结!Java 8—Java 10 特性详解
8
MySQL常用增删改查操作(CRUD)_增删改查crud
9
Stable Diffusion 本地部署教程不完全指南_stable-diffusion-v1-5 does not appear to have a fi
10
搭建hadoop单机环境_配置单机hadoop 环境
当前位置:
article
> 正文
Yarn Container计算和MapReduce的内存配置
作者:Li_阴宅 | 2024-07-28 06:03:55
赞
踩
container计算
在Hadoop2.0中, YARN负责管理MapReduce中的资源(内存, CPU等)并且将其打包成Container. 这样可以精简MapReduce, 使之专注于其擅长的数据处理任务, 将无需考虑资源调度. YARN会管理集群中所有机器的可用计算资源. 基于这些资源YARN会调度应用(比如MapReduce)发来的资源请求, 然后YARN会通过分配Container来给每个应用提供处理能力, Container是YARN中处理能力的基本单元, 是对内存, CPU等的封装.
在Hadoop集群中,平衡内存(RAM)、处理器(CPU核心)和磁盘的使用是至关重要的,合理规划以免某一项引起瓶颈制约。一般的建议是,一块磁盘和一个CPU核心上配置两个Container会达到集群利用率的最佳平衡。
从可用的硬件资源角度看,要调整群集每个节点Yarn和MapReduce的内存配置到合适的数据,应注意以下几个重要的元素:
RAM (总内存大小)
CORES (CPU核心数)
DISKS (磁盘数)
Yarn和MapReduce的总的可用内存应考虑到保留的内存。保留的内存是由系统进程和其他Hadoop进程(如Hbase)所需要的内存。
保留内存=保留系统内存+保留HBase内存(如果HBase是在同一个节点)
使用下表确定每个节点的保留的内存:
建议保留的内存
每个节点的内存总量 建议保留系统内存 建议保留HBase的内存
4 GB 1 GB 1 GB
8 GB 2 GB 1 GB
16 GB 2 GB 2 GB
24 GB 4 GB 4 GB
48 GB 6 GB 8 GB
64 GB 8 GB 8 GB
72 GB 8 GB 8 GB
96 GB 12 GB 16 GB
128 GB 24 GB 24 GB
256 GB 32 GB 32 GB
512 GB 64 GB 64 GB
下面的计算是确定每个节点的Container允许的最大数量。
#Container数量=min (2*CORES, 1.8*DISKS, (可用内存)/最低Container的大小)
最低Container的大小 这个值是依赖于可用的RAM数量——在较小的存储节点,最小的Container的大小也应较小。下面的表列出了推荐值:
每个节点的总内存 建议的最低Container的大小
小于 4 GB 256 MB
4 GB 到 8 GB 512 MB
8 GB 到 24 GB 1024 MB
24 GB 以上 2048 MB
最后计算的每个Container的内存大小是:
每个Container的内存大小 = max(最小Container内存大小, (总可用内存) /Container数))
根据计算,YARN 和 MapReduce 配置如下:
配置文件 配置项 设置值
yarn-site.xml yarn.nodemanager.resource.memory-mb = Container数量 * 每个Container的内存大小
yarn-site.xml yarn.scheduler.minimum-allocation-mb = 每个Container的内存大小
yarn-site.xml yarn.scheduler.maximum-allocation-mb = Container数量 * 每个Container的内存大小
mapred-site.xml mapreduce.map.memory.mb = 每个Container的内存大小
mapred-site.xml mapreduce.reduce.memory.mb = 2 * 每个Container的内存大小
mapred-site.xml mapreduce.map.java.opts = 0.8 * 每个Container的内存大小
mapred-site.xml mapreduce.reduce.java.opts = 0.8 * 2 * 每个Container的内存大小
yarn-site.xml (check) yarn.app.mapreduce.am.resource.mb = 2 * 每个Container的内存大小
yarn-site.xml (check) yarn.app.mapreduce.am.command-opts = 0.8 * 2 * 每个Container的内存大小
提醒: 安装完成后, yarn-site.xml 和 mapred-site.xml 的配置文件在安装目录的 /etc/hadoop/文件夹下.
例如:
集群的节点有 12 CPU cores, 48 GB RAM, and 12 磁盘.
预留内存= 6 GB 系统预留 + 8 GB HBase预留
最小Container内存大小 = 2 GB
如果不安装 HBase:
#Container数 = min (2*12, 1.8* 12, (48-6)/2) = min (24, 21.6, 21) = 21
每个Container的内存大小 = max (2, (48-6)/21) = max (2, 2) = 2
Configuration Value Calculation
yarn.nodemanager.resource.memory-mb = 21 * 2 = 42*1024 MB
yarn.scheduler.minimum-allocation-mb = 2*1024 MB
yarn.scheduler.maximum-allocation-mb = 21 * 2 = 42*1024 MB
mapreduce.map.memory.mb = 2*1024 MB
mapreduce.reduce.memory.mb = 2 * 2 = 4*1024 MB
mapreduce.map.java.opts = 0.8 * 2 = 1.6*1024 MB
mapreduce.reduce.java.opts = 0.8 * 2 * 2 = 3.2*1024 MB
yarn.app.mapreduce.am.resource.mb = 2 * 2 = 4*1024 MB
yarn.app.mapreduce.am.command-opts = 0.8 * 2 * 2 = 3.2*1024 MB
如果安装 Hbase:
#Container数 = min (2*12, 1.8* 12, (48-6-8)/2) = min (24, 21.6, 17) = 17
每个Container的内存大小 = max (2, (48-6-8)/17) = max (2, 2) = 2
配置项 配置大小
yarn.nodemanager.resource.memory-mb = 17 * 2 = 34*1024 MB
yarn.scheduler.minimum-allocation-mb = 2*1024 MB
yarn.scheduler.maximum-allocation-mb = 17 * 2 = 34*1024 MB
mapreduce.map.memory.mb = 2*1024 MB
mapreduce.reduce.memory.mb = 2 * 2 = 4*1024 MB
mapreduce.map.java.opts = 0.8 * 2 = 1.6*1024 MB
mapreduce.reduce.java.opts = 0.8 * 2 * 2 = 3.2*1024 MB
yarn.app.mapreduce.am.resource.mb = 2 * 2 = 4*1024 MB
yarn.app.mapreduce.am.command-opts = 0.8 * 2 * 2 = 3.2*1024 MB
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/Li_阴宅/article/detail/893045
推荐阅读
article
【
Yarn
】系统
架构
&高可用_
yarn
采用
的
体系
架构
是
主
从结构
,
其中
主
节点
是
,
从
节点
是 。...
系统
架构
&高可用系统
架构
Yarn
在
架构
上是
主
从
架构
,其中Resource Manager是
主
节点
,Node Manage...
赞
踩
article
关于
Hadoop
-
HA
的配置
---
从零开始_#
yarn
rmadmin
-getservicest...
写在文前,可能我说的有不对的地方,希望各位老鸟批评指正,本着虚心接受的态度分享这篇文章!关于hadoop-ha大家配置的...
赞
踩
article
【Hadoop】
MapReduce
Job
Files_
mapreduce
.
job
.classpat...
接收到一个
MapReduce
Job
后,
Job
Tracker需要维护
Job
相关的一些信息,其中一部分需要以文件形式存储在...
赞
踩
article
Hadoop——
MapReduce
_
hadoop
mapreduce
...
1、处理步骤
MapReduce
数据处理分为Split、Map、Shuffle、Reduce,应用程序实现Map和Red...
赞
踩
article
Hadoop
学习笔记—4.初识
MapReduce
_
import
mapreduce
.mywordco...
一、神马是高大上的
MapReduce
MapReduce
是Google的一项重要技术,它首先是一个编程模型,用以进行大...
赞
踩
article
Hadoop
之
MapReduce
详细教程_
hadoop
mapreduce
...
为了开发我们的
MapReduce
程序,一共可以分为以上八个步骤,其中每个步骤都是一个 class 类,我们通过 jo...
赞
踩
article
hadoop
之
MapReduce
简介_
hadoop
mapreduce
...
hadoop
之
MapReduce
的一些简介,架构和分析_
hadoop
mapreduce
hadoop
mapreduce
...
赞
踩
article
Hadoop
教程 第五弹
MapReduce
工作原理_
org
.
apache
.
hadoop
.mapre...
MapReduce
是
Hadoop
系统中最重要的计算引擎,它不仅直接支持交互式应用、基于程序的应用,而且还是Hive等组件...
赞
踩
article
深入解析
Hadoop
生态核心组件:
HDFS
、
MapReduce
和YARN_
hadoop
中mapred...
HDFS
默认副本数是 3,这是因为
Hadoop
有着高度的容错性,从数据冗余以及分布的角度来看,需要在同一机房不同机...
赞
踩
article
31学习大数据平台
Hadoop
的基本概念和架构,包括
HDFS
、
MapReduce
_
hadoop
...
MapReduce
是一种分布式计算框架,可以将大规模数据集的计算任务划分成多个小的计算任务并行处理,然后将结果合并生成最...
赞
踩
article
Hadoop
及其核心组件(
HDFS
(存储) Mapreduce(计算)
Hive
(工具)
Hbase
(数...
Hadoop
是一个能够对大量数据进行分布式处理的软件框架。
Hadoop
以一种可靠、高效、可伸缩的方式进行数据处理。...
赞
踩
article
详解
Hadoop
核心架构
HDFS
+
MapReduce
+
Hbase
+
Hive
_hadoop
体系结构
...
通过对
Hadoop
分布式计算平台最核心的分布式文件系统
HDFS
、
MapReduce
处理过程,以及数据仓库工具
Hive
和分...
赞
踩
article
Error
:
failed
to
start
con
tainer
“
mysql
“:
Error
re...
更新runc版本,直接替换二进制文件即可。_error:
failed
to
start
con
tainer
s: mys...
赞
踩
article
docker
进入容器报错:OCI
runtime
exec
failed
:
exec
failed
:...
docker
进入容器报错:OCI
runtime
exec
failed
:
exec
failed
:
container
...
赞
踩
article
docker
运行中而主机宕机后重新
docker
start
xxx 出现 Error respon...
docker
运行中而主机宕机后重新
docker
start
xxx 出现 如下问题:Error
response
fro...
赞
踩
article
docker
重启容器,报错:OCI
runtime
create
failed
:
container
...
docker
重启容器,报错:OCI
runtime
create
failed
:
container
_linux.go
:
...
赞
踩
article
docker
启动报错 OCI
runtime
create
failed
container
_lin...
docker
启动报错response from daemon: OCI
runtime
create
failed
: ...
赞
踩
article
OCI
runtime
create
failed
:
starting
container
proc...
执行dockerfile过程中报错:OCI
runtime
create
failed
:
container
_linux...
赞
踩
article
【
docker
toolbox
错误】Error response from daemon: OCI ...
参考:https://www.jianshu.com/p/fa81ccc1745a由于是基于
docker
toolbox
...
赞
踩
article
docker
部署,启动失败 OCI
runtime
create
failed
:
container
...
docker
run hello-world出现一下问题,
docker
: Error response from dae...
赞
踩
相关标签
hadoop
HA
mapreduce
big data
hadoop mapreduce
大数据
hdfs
服务器
运维开发
hive