配置 Spark 集群
从适当配置的 MATLAB® 客户端向 Spark™ 集群提交包含 tall
(MATLAB) 数组和 mapreduce
(MATLAB) 函数的并行 MATLAB 代码。
集群配置
按照这些说明将 MATLAB Parallel Server™ 安装接入到您的 Spark 集群。
将 MATLABParallel Server 与您的集群基础架构集成。有关说明,请参阅为其他第三方调度器安装 MATLABParallel Server。
MATLAB Parallel Server 支持在不同环境中运行的 Spark 集群,例如 Spark Standalone 或 Databricks™。
如果您的集群需要 Kerberos 身份验证,请确保您的 MATLAB Parallel Server 安装已正确配置。有关说明,请参阅Kerberos 身份验证。
客户端配置
要配置客户端以在集群上运行 MATLAB 代码,您必须已经能够从目标客户端计算机提交到集群。客户端计算机必须安装有 Spark,才能访问 MATLAB 之外的集群。
许多 Spark 发行版不支持从 Linux® 客户端直接访问基于 Windows® 的集群。Windows 客户端用户通常需要设置一个 Linux 网关节点,可以通过 SSH 或 VNC 从 Windows 客户端访问该节点。然后可以从该网关节点访问集群。
如果您的集群需要 Kerberos 身份验证,您必须确保您的 MATLAB 客户端安装已配置为进行 Kerberos 身份验证。有关说明,请参阅Kerberos 身份验证。
创建集群配置文件
在此步骤中,您将创建一个集群配置文件,使 MATLAB 客户端能够连接到集群。
启动集群配置文件管理器。在主页选项卡的环境区域中,选择并行 > 创建和管理集群。
通过选择添加集群配置文件 > Spark在集群配置文件管理器中创建一个新的配置文件。
在列表中选择新的配置文件后,点击重命名并将配置文件名称编辑为
SparkInstallTest
。按 Enter 键。在属性选项卡中,选择编辑并提供以下字段的设置:
将描述字段设置为用于测试安装。
将 ClusterMatlabRoot 设置为在工作单元计算机上运行 MATLAB 的安装位置。
如果集群使用在线许可,请将 RequiresOnlineLicensing 设置为 true。
如果将 RequiresOnlineLicensing 设置为
true
,请在 LicenseNumber 字段中输入您的许可证号码。将 SparkInstallFolder 设置为客户端计算机上的 Spark 安装位置。
在 SparkProperties 表中指定其他 Spark 属性。例如,要将首选工作单元数量指定为 16,请在 SparkProperties 表下选择添加。指定一个名为
spark.executor.instances
的新属性,输入16
作为值,并选择String
作为数据类型。点击完成以保存您的集群配置文件更改。对话框如下所示:
验证集群配置文件
在此步骤中,您将验证您的集群配置文件,从而验证您的安装。
如果尚未打开,请从 MATLAB 桌面启动集群配置文件管理器。在主页选项卡的环境区域中,选择并行 > 创建和管理集群。
在列表中选择 SparkInstallTest 集群配置文件。
点击验证选项卡。
使用复选框选择所有测试或验证阶段的子集,并指定验证您的配置文件时要使用的工作单元数量。
点击验证。
客户端完成集群验证后,验证选项卡显示输出。下图显示了通过所有验证测试的配置文件的结果。
注意
如果您的验证未通过,请联系 MathWorks 安装支持团队。
如果您的验证通过,您现在就拥有一个有效的配置文件,您可以使用它从 MATLAB 客户端访问集群。您可以对配置文件进行适合您的应用程序的任何修改,例如指定其他 Spark 属性、NumWorkersRange
、AttachedFiles
、AdditionalPaths
等等。
要为其他用户保存您的配置文件,请选择该配置文件并点击导出,然后将您的配置文件保存到方便位置的文件中。稍后,运行 集群配置文件管理器时,其他用户可以通过点击导入来导入您的配置文件。
示例
使用 mapreducer
(MATLAB) 函数将执行环境切换到 Spark 集群。
有关如何在 Spark 集群上运行并行 MATLAB 代码的示例,请参阅在 Spark 集群上使用 tall 数组 (Parallel Computing Toolbox)。
Kerberos 身份验证
如果集群使用需要 Oracle® Java® 加密扩展的 Kerberos 身份验证,则必须配置 MATLAB 和 MATLAB Parallel Server 的所有安装。如果您在 Hadoop® 上使用 Spark(例如 Cloudera® 发行版),则可能需要完成这些配置步骤。
客户端和工作单元 MATLAB 安装的配置说明相同。
从 R2018b 开始,通过在 MATLAB 安装中启用适当的安全策略来配置您的 Java 安装。
在 MATLAB 编辑器中,打开文件
${MATLAB_ROOT}/sys/java/jre/${ARCH}/jre/lib/security/java.security
。将以下代码行
更改为#crypto.policy=unlimited
crypto.policy=unlimited
Spark 版本支持
Spark 2.2 或更高版本支持 MATLAB mapreduce
、tall 数组和数据存储的并行使用。对于客户端,可以在支持所有架构的 Spark 集群上使用 tall 数组,同时支持 Linux 和 Mac 架构的集群。这包括跨平台支持。
Spark 执行器内存默认设置
从 MATLAB 提交的 Spark 作业的 spark.executor.memory
属性的默认值为 2560 MB。
另请参阅
parallel.cluster.Spark
(Parallel Computing Toolbox)
主题
- 为其他第三方调度器安装 MATLABParallel Server
- 在 Spark 集群上使用 tall 数组 (Parallel Computing Toolbox)