YARN

作者: 436048bfc6a1 | 来源:发表于2018-12-26 22:59 被阅读0次
1. Contaniner

1.1 含义
    一个虚拟的概念,表示YARN的资源抽象
    封装了某节点的多维度资源(内存、CPU、磁盘、网络等资源),
    当Application Master向Resource Manager申请资源时, Resouce Manager 为Application Master返回资源
2. Yarn常用命令
2.1 yarn jar
    等于 hadoop jar
2.1.1 Exapmle

bin/yarn jar /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar wordcount /user/hadoop/input /user/hadoop/output3

执行wordcount
2.2 yarn application
2.2.1 yarn application -list  显示当前运行的application信息

Total number of applications (application-types: [] and states: [SUBMITTED, ACCEPTED, RUNNING]):0
                Application-Id      Application-Name        Application-Type          User       Queue               State         Final-State         Progress                        Tracking-URL
2.2.2 yarn application -kill <Application ID>   kill掉某个application
2.2.3 与mapred常用命令对比
mapred 常用命令:
    mapred job -list
    mapred jon -kill <Application ID>

mapred命令与yarn命令功能一样,但是spark和hive命令也能运行在yarn上,所以使用yarn命令能管理spark和hive程序。
  1. Yarn调优
yarn.nodemanager.resource.memory-mb
yarn.scheduler.minimum-allocation-mb
yarn.scheduler.maximum-allocation-mb
如果机器有48G的内存,25%给linux,剩下的75%(36G)给大数据进程。

正常来说,DataNode(4G)与NodeManager(3G)部署在同一台机器上(原因: 数据本地化,DN计算后传回给NodeManager速度最快)

如何增加DataNode内存
在$HADOOP_HOME/etc/hadoop下的hadoop-env.sh
修改
export HADOOP_DATANODE_OPTS="-Dhadoop.security.logger=ERROR,RFAS $HADOOP_DATANODE_OPTS"
为
export HADOOP_DATANODE_OPTS="-Xms2048m -Xmx2048m -Dhadoop.security.logger=ERROR,RFAS $HADOOP_DATANODE_OPTS"

如何增加NodeManager内存
在$HADOOP_HOME/etc/hadoop下的yarn-env.sh
增加
YARN_OPTS="$YARN_OPTS -Xms2048m -Xmx2048m"

注: 修改之后都需要重启进程
    YARN和HDFS默认内存是1000M

剩下29G是留给container

所以设置yarn.nodemanager.resource.memory-mb为29G
yarn.scheduler.minimum-allocation-mb(单个容器最小内存): 官方是1G,生产上推荐2G
yarn.scheduler.maximum-allocation-mb(单个容器最大内存): 官方是8G,生产上就是与yarn.nodemanager.resource.memory-mb,防止内存暴增,但是容器还有内存的情况下出现OOM
yarn.nodemanager.pmem-check-enabled(使用内存超出最大内存,会自动kill内存,其任务也会被kill)     true
yarn.nodemanager.vmem-check-enabled     true
yarn.nodemanager.vmem-pmem-ratio        2.1(1m 虚拟内存相当于2.1m的物理内存)

相关文章

网友评论

      本文标题:YARN

      本文链接:https://www.haomeiwen.com/subject/tscllqtx.html