首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >火花独立

火花独立
EN

Stack Overflow用户
提问于 2015-07-21 10:06:42
回答 1查看 592关注 0票数 0

我有Ubuntu14.04,在我的机器上有4个cpus (nproc get 4返回)。在安装和执行火花独立 (本地)之后,我可以自己定义不同数量的奴隶。例如,我想有4个奴隶(工人)。在执行了这么多奴隶之后,我有了下一个独立屏幕:

如果我已经有了4个内核(我认为一个核心是一个cpu),那么我怎么可能拥有总数为16 (橙色字段)和内存11 GB的core 16?如果我有四个奴隶而不是一个奴隶,什么是前卫呢?也许,如果我在本地执行它,我就没有(它也会慢一点),但是如果我有hadoop集群,应该如何共享内核,以及如何提高程序执行的速度?还有一些额外的问题,如果我启动某个应用程序(scala、python或java),第一个应用程序正在运行,另一个2或3应该处于等待模式。是否可以并行运行所有应用程序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-15 13:20:53

你在这里误解了几件事:

独立

这确实是而不是的意思是“本地的”。独立模式是应用程序主模块Spark,它可以被成纱梅索斯所取代。您可以使用任意数量的节点。实际上,您只能在给定数目的X线程上本地运行,例如,通过运行./bin/spark-shell --master local[X]命令。

核/内存

这些数字反映了集群中的资源总量。在这里,如果我们计算,你有4 * 4 cpus = 16 cpus,和4 * 2.7 GB ~= 11 GB的内存。

资源管理

如果我有hadoop集群,应该如何共享内核?

Hadoop集群不同于星系团簇。有几种方法可以将两者结合在一起,但在大多数情况下,与Spark结合使用的Hadoop部分是HDFS,这是一种分布式文件系统。

根据您在Spark中使用的应用程序主程序,核心将被不同地管理:

  • 纱线使用节点上的节点管理器(),启动containers,其中可以启动火花的执行器(一个执行器=一个jvm)
  • 单独使用workers作为启动执行器的网关
  • 直接发射执行器

调度

Hadoop和Spark使用了一种名为http://www.cs.berkeley.edu/~matei/papers/2010/eurosys_delay_scheduling.pdf的技术,它基本上依赖于应用程序可以决定拒绝员工的邀请的原则,将其任务之一放置在其中一个,并希望它以后能从数据局部性方面得到更好的报价。

如何提高程序执行的速度?

这是一个复杂的问题,如果没有基础设施、输入数据和应用程序的知识,就无法回答这个问题。以下是一些会影响您的性能的参数:

  • 可用的内存量(主要用于缓存经常使用的RDD )
  • 对数据/RDD使用压缩
  • 应用配置

是否可以并行运行所有应用程序?

默认情况下,独立主程序对其应用程序使用FIFO调度程序,但您可以在应用程序中设置公平调度程序。有关更多细节,请参见调度文件

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31536071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档