以独立模式在主节点上启动多个工作程序
Starting multiple workers on a master node in Standalone mode
我有一台 80 核的机器。我想在这台机器上以独立模式启动一个 Spark 服务器,它有 8 个执行程序,每个执行程序有 10 个内核。但是,当我尝试在 master 上启动我的第二个 worker 时,出现错误。
$ ./sbin/start-master.sh
Starting org.apache.spark.deploy.master.Master, logging to ...
$ ./sbin/start-slave.sh spark://localhost:7077 -c 10
Starting org.apache.spark.deploy.worker.Worker, logging to ...
$ ./sbin/start-slave.sh spark://localhost:7077 -c 10
org.apache.spark.deploy.worker.Worker running as process 64606. Stop it first.
在documentation中,明确表示"you can start one or more workers and connect them to the master via: ./sbin/start-slave.sh <master-spark-URL>
"。那么为什么我不能那样做呢?
在单机上,比较复杂,可以试试docker或者Kubernetes。
为 spark worker 创建多个 docker 个容器。
获得相同并行度的一种方法是启动许多 worker。
您可以通过将以下内容添加到 ./conf/spark-env.sh 文件来执行此操作:
SPARK_WORKER_INSTANCES=8
SPARK_WORKER_CORES=10
SPARK_EXECUTOR_CORES=10
只需为每个新 worker/master 指定一个新身份,然后启动 start-worker.sh
export SPARK_IDENT_STRING=worker2
./spark-node2/sbin/start-worker.sh spark://DESKTOP-HSK5ETQ.localdomain:7077
感谢
我有一台 80 核的机器。我想在这台机器上以独立模式启动一个 Spark 服务器,它有 8 个执行程序,每个执行程序有 10 个内核。但是,当我尝试在 master 上启动我的第二个 worker 时,出现错误。
$ ./sbin/start-master.sh
Starting org.apache.spark.deploy.master.Master, logging to ...
$ ./sbin/start-slave.sh spark://localhost:7077 -c 10
Starting org.apache.spark.deploy.worker.Worker, logging to ...
$ ./sbin/start-slave.sh spark://localhost:7077 -c 10
org.apache.spark.deploy.worker.Worker running as process 64606. Stop it first.
在documentation中,明确表示"you can start one or more workers and connect them to the master via: ./sbin/start-slave.sh <master-spark-URL>
"。那么为什么我不能那样做呢?
在单机上,比较复杂,可以试试docker或者Kubernetes。 为 spark worker 创建多个 docker 个容器。
获得相同并行度的一种方法是启动许多 worker。
您可以通过将以下内容添加到 ./conf/spark-env.sh 文件来执行此操作:
SPARK_WORKER_INSTANCES=8
SPARK_WORKER_CORES=10
SPARK_EXECUTOR_CORES=10
只需为每个新 worker/master 指定一个新身份,然后启动 start-worker.sh
export SPARK_IDENT_STRING=worker2
./spark-node2/sbin/start-worker.sh spark://DESKTOP-HSK5ETQ.localdomain:7077
感谢