gpt4 book ai didi

apache-spark - worker如何使用standalone Master的资源?

转载 作者:行者123 更新时间:2023-12-04 04:35:19 25 4
gpt4 key购买 nike

我已经安装了 Apache Spark 1.5.2(适用于 Hadoop 2.6+)。我的集群包含以下硬件:

  • Master:12 个 CPU 内核和 128 GB RAM
  • 从机 1:12 个 CPU 内核和 64 GB 内存
  • Slave2:6 个 CPU 内核和 64 GB RAM

实际上我的 slaves 文件有两个条目:

slave1_ip
slave2_ip

因为我的主人也有一个非常“强大”的硬件,它不会只被主人线程使用到容量。所以我想问一下是否可以将主机的一些 CPU 内核和 RAM 提供给第三个工作实例......?谢谢!


解决问题的第一次尝试

在 Jacek Laskowski 的回答之后,我进行了以下设置:

spark-defaults.conf (only on Master machine):
spark.driver.cores=2
spark.driver.memory=4g

spark-env.sh (on Master):
SPARK_WORKER_CORES=10
SPARK_WORKER_MEMORY=120g

spark-env.sh (on Slave1):
SPARK_WORKER_CORES=12
SPARK_WORKER_MEMORY=60g

spark-env.sh (on Slave2):
SPARK_WORKER_CORES=6
SPARK_WORKER_MEMORY=60g

我还在slaves文件中添加了master的ip地址。

集群现在包含 3 个工作节点(slaves + master),非常完美。

但是:Web UI 显示每个节点只有 1024m 的 RAM,请参见屏幕截图: enter image description here

谁能告诉我如何解决这个问题?设置 spark.executor.memory 将为每台机器设置相同数量的 RAM,这不是使用尽可能多的 RAM 的最佳选择......!我究竟做错了什么?谢谢!

最佳答案

这是可能的。只需限制 master 使用的内核和内存数量,并在机器上运行一个或多个 worker。

使用 conf/spark-defaults.conf,您可以在其中设置 spark.driver.memoryspark.driver.cores。咨询Spark Configuration .

不过,您应该使用 conf/spark-env.sh 使用 SPARK_WORKER_INSTANCES 为每个节点设置多个实例。包括如下其他设置:

SPARK_WORKER_INSTANCES=2
SPARK_WORKER_CORES=2
SPARK_WORKER_MEMORY=2g

您可能还想使用 spark.executor.memorySPARK_EXECUTOR_MEMORY 设置执行程序(每个工作人员)的 RAM 数量(如下面的屏幕截图所示) .

Memory per Node in Spark Standalone's web UI

关于apache-spark - worker如何使用standalone Master的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34017015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com