美文网首页spark||flink||scala
yarn资源多租户隔离

yarn资源多租户隔离

作者: 张志_koen_zhang | 来源:发表于2018-09-21 13:12 被阅读486次

标题随意取的,别太在意。

技术栈

实时计算:spark streaming + kafka + yarn
离线计算:sparkSQL + yarn

当前yarn集群资源如图

image.png

目前公司离线计算和实时计算都是跑在一个yarn集群,最近离线计算资源占用非常高,整个CDH集群状态高负载运行。


image.png

通过运维人员监控发现,实时计算服务发现kafka消息堆积大量波动,排查后发现离线计算任务占用大量yarn资源。


image.png

对于业务价值,实时计算的优先级远大于离线计算,必须优先保证实时计算资源。

目前有2种方案:

1、独立2套yarn集群分别用于实时计算和离线计算
2、继续使用同一套yarn集群,分2个QUEUE(default,realtime)隔离yarn资源

分析:

方案1

服务器完全隔离,cpu,memory,io完全独立,但服务器资源紧张,无法调度到资源。

方案2

现有yarn集群配置,内存完全隔离,cpu理论上也可隔离,但是io和network不一定完全隔离,还存在一定影响。

结论

相关同事讨论后,一致选择方案2

实施

1、由大数据同事负责yarn具体实施,对QUEUE realtime 资源分配: memory 1T, vcore:1500
2、由测试同事负责测试环境验证可行性
3、由运营同事负责线上实施

参考

1、利用yarn多队列实现hadoop资源隔离 https://blog.csdn.net/bbaiggey/article/details/53574468
2、CDH Yarn资源队列划分管理 https://blog.csdn.net/u012551524/article/details/80544595

spark submit参数介绍

你可以通过spark-submit --help或者spark-shell --help来查看这些参数。
使用格式:
./bin/spark-submit
--class <main-class>
--master <master-url>
--deploy-mode <deploy-mode>
--conf <key>=<value>
... # other options
<application-jar>
[application-arguments]
参数名 格式 参数说明
--master MASTER_URL 如spark://host:port, mesos://host:port, yarn, yarn-cluster,yarn-client, local
--deploy-mode DEPLOY_MODE Client或者master,默认是client
--class CLASS_NAME 应用程序的主类
--name NAME 应用程序的名称
--jars JARS 逗号分隔的本地jar包,包含在driver和executor的classpath下
--packages 包含在driver和executor的classpath下的jar包逗号分隔的”groupId:artifactId:version”列表
--exclude-packages 用逗号分隔的”groupId:artifactId”列表
--repositories 逗号分隔的远程仓库
--py-files PY_FILES 逗号分隔的”.zip”,”.egg”或者“.py”文件,这些文件放在python app的PYTHONPATH下面
--files FILES 逗号分隔的文件,这些文件放在每个executor的工作目录下面
--conf PROP=VALUE 固定的spark配置属性,默认是conf/spark-defaults.conf
--properties-file FILE 加载额外属性的文件
--driver-memory MEM Driver内存,默认1G
--driver-java-options 传给driver的额外的Java选项
--driver-library-path 传给driver的额外的库路径
--driver-class-path 传给driver的额外的类路径
--executor-memory MEM 每个executor的内存,默认是1G
--proxy-user NAME 模拟提交应用程序的用户
--driver-cores NUM Driver的核数,默认是1。这个参数仅仅在standalone集群deploy模式下使用
--supervise Driver失败时,重启driver。在mesos或者standalone下使用
--verbose 打印debug信息
--total-executor-cores NUM 所有executor总共的核数。仅仅在mesos或者standalone下使用
--executor-core NUM 每个executor的核数。在yarn或者standalone下使用
--driver-cores NUM Driver的核数,默认是1。在yarn集群模式下使用
--queue QUEUE_NAME 队列名称。在yarn下使用
--num-executors NUM 启动的executor数量。默认为2。在yarn下使用

image.png

相关文章

  • yarn资源多租户隔离

    标题随意取的,别太在意。 技术栈 实时计算:spark streaming + kafka + yarn离线计算:...

  • 租户隔离下的资源分享

    背景 对于多租户系统,租户间资源是隔离的。组织属于租户的私有资源。但是我们业务上有个比较夸张的需求。新建的租户可以...

  • saas 架构

    多租户 多租户要达到的效果,是租户之间相互隔离。隔离的方法就分为逻辑的和物理的。所谓逻辑的,就是不同的租户用的还是...

  • Yarn资源隔离

    1 概述 1.1 基本概念 ** A.ResourceManager ** ResourceManager 是一个...

  • yarn

    1.yarn 资源调度 资源隔离 弹性伸缩 容灾容错

  • HBase多租户系统设计

    面向多租户的数据安全和资源隔离能力,提供标准的用户名密码认证、ACL、Quota、Resource Group等特...

  • YARN内存使用优化配置

    【YARN中内存资源的调度和隔离】 基于以上考虑,YARN允许用户配置每个节点上可用的物理内存资源,注意,这里是“...

  • 浅谈Linux cgroup机制与YARN的CPU资源隔离

    前言 在半年多之前的这篇文章中,笔者已经从源码层面讲解过了YARN是如何实现内存资源隔离的。但是只隔离内存还不够,...

  • 图解mapreduce&yarn的工作机制

    YARN:资源(linux资源隔离机制:运算资源---运算程序jar/配置文件/CPU/内存/IO--从linux...

  • yarn Cgroup配置资源隔离

    参考:https://www.jianshu.com/p/e283ab7e2530 yarn默认只管理内存资源,虽...

网友评论

    本文标题:yarn资源多租户隔离

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