1.yarn生产上的资源管理(至关重要)
假设一台机器:48物理内存 8个core-->16个vcore
Linux本身要占用内存+空留:20%=9.6个G(空留是根据实际机器的内存来决定的,如果内存大,可以考虑空留15%)
剩余:80%=38.4G=38G
DN进程:生产上4G
如何修改DN的内存配置信息:进入hadoop-env.sh脚本,
HADOOP_NAMENODE_OPTS=-Xmx1024m
HADOOP_DATANODE_OPTS=-Xmx1024m (在前面追加,如下图所示)
NM进程:生产上4G
如何修改NM的内存配置信息:进入yarn-env.sh脚本,
export YARN_RESOURCEMANAGER_HEAPSIZE=1024
export YARN_NODEMANAGER_HEAPSIZE=1024
DN和NM部署在同一台机器上是为了:数据本地化
NN RM 经常性部署同一台 说白了 集群节点少
(正常情况下,DataNode进程和NodeManager进程部署在同一台机器: 数据本地化
比如:在NM上运行task任务,task任务需要数据,数据是放在当前机器的hdfs上面的,发现当前
有DataNode进程,节点上有需要的数据,那就只需要从当前节点拿数据就行了。但是如果发现当
前机器上没有数据,要去另外的机器上拿数据,那就会通过网络,这时候会网络消耗,计算就会
变慢了。)
资源内存: 38G-4-4=30G(这30G是做什么?就是运行container容器&