在 Apache Spark 中设置动态分配?

Setting up dynamic allocation in Apache Spark?

我正在按照说明 here 为 YARN 资源管理器设置动态分配。

然而,我对第 3 步感到困惑:Add this jar to the classpath of all NodeManagers in your cluster.

这是否意味着去每个节点服务器并将 shuffle.jar 的路径添加到 PATH 环境变量? export=$PATH:<loc-to-shuffle.jar>?

Yarn 类路径意味着在所有节点管理器上,要么在 yarn-site.xml 中设置 yarn.application.classpath,其中包含以逗号分隔的 CLASSPATH 条目列表。

当此值为空时,将使用 YARN 应用程序的以下默认 CLASSPATH。

  • 对于Linux:
$HADOOP_CONF_DIR, $HADOOP_COMMON_HOME/share/hadoop/common/*, $HADOOP_COMMON_HOME/share/hadoop/common/lib/*, $HADOOP_HDFS_HOME/share/hadoop/hdfs/*, $HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*, $HADOOP_YARN_HOME/share/hadoop/yarn/*, $HADOOP_YARN_HOME/share/hadoop/yarn/lib/*
  • 对于Windows:
%HADOOP_CONF_DIR%, %HADOOP_COMMON_HOME%/share/hadoop/common/*, %HADOOP_COMMON_HOME%/share/hadoop/common/lib/*, %HADOOP_HDFS_HOME%/share/hadoop/hdfs/*, %HADOOP_HDFS_HOME%/share/hadoop/hdfs/lib/*, %HADOOP_YARN_HOME%/share/hadoop/yarn/*, %HADOOP_YARN_HOME%/share/hadoop/yarn/lib/*

所以将 spark-<version>-yarn-shuffle.jar 放在 yarn.application.classpath 中定义的列出的类路径目录之一或默认类路径目录中。

您还可以在 yarn 类路径目录之一中创建 spark-<version>-yarn-shuffle.jar 的软 link

希望这对您有所帮助...