在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

怎么在Yarn集群中分配Container

466次阅读
没有评论

共计 1959 个字符,预计需要花费 5 分钟才能阅读完成。

本篇内容介绍了“怎么在 Yarn 集群中分配 Container”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

YarnAllocator 从字面意思来看,也应该知道是在 Yarn 集群中分配 Container 的。

private[yarn] class YarnAllocator(
 driverUrl: String,
 driverRef: RpcEndpointRef,
 conf: YarnConfiguration,
 sparkConf: SparkConf,
 amClient: AMRMClient[ContainerRequest],
 appAttemptId: ApplicationAttemptId,
 securityMgr: SecurityManager,
 localResources: Map[String, LocalResource],
 resolver: SparkRackResolver,
 clock: Clock = new SystemClock)

其中 driverUrl 就是 Driver 的地址。当用 YarnAllocator 分配 Container 来运行 Executors 时,这些 Executors 要联系的 Driver 地址就是构造函数里的 driverRef 参数。

requestTotalExecutorsWithPreferredLocalities 方法是分配多个 Executor 的,先将分配请求保存在队列里,然后在守护线程中异步的创建 Executor。

def requestTotalExecutorsWithPreferredLocalities(
 requestedTotal: Int,
 localityAwareTasks: Int,
 hostToLocalTaskCount: Map[String, Int],
 nodeBlacklist: Set[String]): Boolean = synchronized {
 this.numLocalityAwareTasks = localityAwareTasks
 this.hostToLocalTaskCounts = hostToLocalTaskCount
 if (requestedTotal != targetNumExecutors) { logInfo(s Driver requested a total number of $requestedTotal executor(s). )
 targetNumExecutors = requestedTotal
 allocatorBlacklistTracker.setSchedulerBlacklistedNodes(nodeBlacklist)
 true
 } else {
 false
 }
 }

targetNumExecutors 就是说明要申请创建多少个 Executor 的意思。具体的实际创建动作是在 runAllocatedContainers 中执行的。

 launcherPool.execute(() =  {
 try {
 new ExecutorRunnable( Some(container),
 conf,
 sparkConf,
 driverUrl,
 executorId,
 executorHostname,
 executorMemory,
 executorCores,
 appAttemptId.getApplicationId.toString,
 securityMgr,
 localResources
 ).run()
 updateInternalState()
 } catch {
 
 }

这一段就是在分配的 Container 上创建 Executor 的过程,用 ExecutorRunner 来包装的。其中的 driverUrl 就是构造函数中带过来的 driver 的地址。

可见每个 driver 都会创建一个属于自己的单独的 YarnAllocator。

顺便说一句,很多人以前 Spark 是集群,实际上 Spark 本身只是一种计算方式,可以看成它只是 jar 包。Spark 的 driver 运行时才会去申请 Executor,向 Yarn 申请或者向 Standalone 集群申请。Standalone 集群是指 Master 和 Worker,不是指 Spark core,更不是指 SparkContext。

“怎么在 Yarn 集群中分配 Container”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计1959字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 啦啦啦www播放日本观看 | 亚洲午夜爱爱香蕉片 | 一区在线播放 | 一本一道波多野结衣av黑人 | 毛片免费在线观看网址 | 国产一区亚洲一区 | 一级黄色a | 亚洲大片免费 | 欧美一区不卡二区不卡三区 | 国产欧美日韩一区 | 国产成人高清视频免费播放 | 亚洲成av人不卡无码影片 | 午夜成人理论福利片 | 亚洲熟妇国产熟妇肥婆 | 国产精品无码一区二区在线 | 男人亚洲天堂 | 日韩精品无码中文字幕一区二区 | 国内亚州视频在线观看 | 色婷婷久久一区二区三区麻豆 | 日本三级欧美三级人妇视频黑白配 | 亚洲国产婷婷综合在线精品 | 成人精品在线视频 | 日产一区二区三区四区 | 国产伦子沙发午休系列资源曝光 | 四虎视频在线观看 | 我要看免费一级毛片 | 亚洲国产成人va在线观看 | 7m精品福利视频导航 | 国产麻豆精品传媒av国产婷婷 | 免费看国产精品3a黄的视频 | 欧美成人久久久免费播放 | 青青草视频国产 | 天天操天天干天天拍 | 久久精品国产福利国产琪琪 | 真实偷清晰对白在线视频 | 四虎影院永久地址 | 日韩精品区一区二区三vr | 无码一区二区三区av免费 | 一级午夜a毛片免费视频 | 91精品国产99久久 | 无码人妻精品一区二区蜜桃网站 |