当前位置: 首页 > 知识库问答 >
问题:

Apache Spark:理解驱动程序和执行程序配置的术语

祁霖
2023-03-14

我经常在每个分布式计算开源项目中看到以下术语,尤其是在Apache spark中,希望用一个简单的例子来解释。

  • spark.driver.cores - 仅在群集模式下用于驱动程序进程的核心数。
  • 火花驱动程序内存 - 用于驱动程序进程的内存量
  • spark.executor.cores - 每个执行器上使用的核心数
  • spark.executor.memory - 每个执行程序进程要使用的内存量
  • 火花 . 为每个任务分配的核心数。

例如,如果有三台带有英特尔i5处理器(CPU)的计算机C1、C2和C3,其具有4个内核(shorturl.at/apsSW),并假定16 GB RAM和1 TB辅助存储(已安装/内置)。

如果我们把C1作为主计算机/服务器/节点(Uff..太多的术语)和C2,C3作为奴隶/工人/执行者

在高级别上,我认为(假设文件不在C1,C2或C3中,而是在某些云存储中) - 当我们在驱动程序(C1)上提交spark程序(假设程序关于在驱动程序控制台上读取和显示第一行的程序)时,它告诉其执行器(C2和C3)通过分区中的互联网/Intranet从该CSV文件中获取数据(如果分区在程序中定义)。

但是,

  1. 不知道驱动核心和内存如何

共有1个答案

沈博达
2023-03-14

那么,如果我在spark cluster环境中使用这三台带有YARN的计算机来处理1 GB的CSV文件,上面提到的术语应该放在哪里呢?

默认情况下,您将有一个驱动程序随机分配给这三个节点之一。(有1 gig内存,1个核心)和2个(如果我没记错的话)分配的执行器(每个1个核心有1 gig内存)

当然,所有这些都是可配置的,但是最好坚持默认设置,直到内存耗尽。

不知道驱动核心和内存如何

很好,在内存耗尽/需要更高性能之前不要使用它。不要预先调整配置。等到出现性能问题后再解决。人们通常会给一个进程分配8个Gig 8个核心,并使用50k和1个核心。有一些设置可以在出现问题时稍后调整性能。知道这一点,当你遇到问题时,就开始调整它们。

h..说到流程这个术语,它总是与核心联系在一起。一个过程到底代表什么,它代表星火计划背后的过程吗?

我真的不知道该怎么问。计算需要资源。您需要空间或内核来处理信息。

还有,任务……这些任务代表了从spark程序衍生出来的过程吗?

任务是由您编写的程序定义的工作单元。看看火花UI,它会给你一些关于事情如何工作的直觉。

在云计算中,有一个术语vCPU更容易混淆,vCPU是否对应于单个核心?

它允许您定义计算机上的内核数。您可以低估或过度将它们规定到节点,这取决于您的需求。现在,将它们想象成定义节点可用内容的方式,并且火花将它们解释为核心。

 类似资料:
  • 如前所述,更改Spark集群冗长性的理想方法是更改相应的log4j.properties。然而,在dataproc上,Spark在Yarn上运行,因此我们必须调整全局配置,而不是/usr/lib/Spark/conf 几点建议: 在dataproc上,我们有几个gcloud命令和属性可以在集群创建过程中传递。请参阅留档是否可以通过指定更改 /etc/hadoop/conf下的log4j.prope

  • 我有我的chromedriver和chromedriver。项目文件夹中的exe权限。我正在用这段代码创建驱动程序的实例。 在本地windows上也可以(如果我们将“chromedriver”更改为“chromedriver.exe”),但当我在CentOS上运行它时,会收到错误消息:“驱动程序不可执行”。

  • 我在一个单独的Docker中运行spark-master和spark-worker。 我能看见他们在跑 PS-EF grep火花根3477 3441 0 1 05?00:04:17/usr/lib/jvm/java-1.8-openjdk/jre/bin/java-cp/usr/local/spark/conf/:/usr/local/spark/jars/*-xmx1g org.apache.s

  • 问题内容: 我正在尝试运行一个ruby文件,该文件将使用seleniumwebdriver启动chrome驱动程序。我有selenium独立服务器2.35.0。和chromedriver可执行文件已安装。我正在通过运行服务器来启动 两个会话正在启动,chrome驱动程序无法启动。 这是在我使用以下文件运行文件之后 我对此并不陌生,无法找出问题所在。而且,我也试图让它无头运行,所以我正在运行Xvfb

  • 我试图运行一个ruby文件,这将启动chrome驱动程序使用selenium WebDriver。我有selenium独立服务器2.35.0。和chromedriver可执行文件安装。我通过运行来启动服务器, 这是在我使用 我对此很陌生,不知道哪里出了问题。我也试图无头运行它,所以我有Xvfb运行。有人能帮我指出我犯的错误并启动chromedriver吗? 更新: 谁能帮我弄清楚出了什么问题吗?

  • 我正在使用Selenium来自动化测试。我的应用程序只使用IE,它不适用于其他浏览器。 代码: 这是我得到的错误 驱动程序可执行文件的路径必须由webdriver.ie.driver系统属性设置;有关更多信息,请参阅https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver.最新版本可从以下网站下载:http://www.s