配置 Hadoop 集群
包含 tall
(MATLAB) 数组和 mapreduce
(MATLAB) 函数的并行 MATLAB® 代码可以从适当配置的 MATLAB 客户端提交到 Hadoop® 集群。
要配置客户端以在集群上运行 MATLAB 代码,您必须已经能够从目标客户端计算机提交到集群。客户端计算机必须安装有 Hadoop,才能访问 MATLAB 之外的集群。
许多 Hadoop 发行版不支持从 Linux® 客户端直接访问基于 Windows® 的集群。Windows 客户端用户通常需要设置一个 Linux 网关节点,可以通过 SSH 或 VNC 从 Windows 客户端访问该节点。然后可以从该网关节点访问集群。
集群配置
将 MATLABParallel Server™ 与您的集群基础架构集成。有关说明,请参阅为其他第三方调度器安装 MATLABParallel Server。
如果您的集群需要 Kerberos 身份验证,请确保您的 MATLAB Parallel Server 安装已正确配置。有关说明,请参阅Kerberos 身份验证。
客户端配置
确保您的客户端可以访问 Hadoop 之外的 MATLAB 集群。
如果您的集群需要 Kerberos 身份验证,请确保您的客户端 MATLAB 安装已配置为 Kerberos 身份验证。有关说明,请参阅Kerberos 身份验证。
要从 MATLAB 中访问集群,请使用以下语句设置一个 parallel.cluster.Hadoop
(Parallel Computing Toolbox) 对象。
setenv('HADOOP_HOME', '/path/to/hadoop/install') cluster = parallel.cluster.Hadoop;
使用mapreducer
(MATLAB)指定 mapreduce
在 Hadoop 集群对象上运行。
有关如何在 MATLAB 集群上运行并行 Hadoop 代码的示例,请参阅在 Hadoop 集群上运行 mapreduce (Parallel Computing Toolbox)和在 Spark 集群上使用 tall 数组 (Parallel Computing Toolbox)。
Kerberos 身份验证
如果集群使用需要 Oracle® Java® 加密扩展的 Kerberos 身份验证,则必须配置 MATLAB 和 MATLAB Parallel Server 的所有安装。如果您使用的是 Hortonworks® 或 Cloudera® 发行版,则很可能需要完成这些配置步骤。
客户端和工作单元 MATLAB 安装的配置说明相同。
从 R2018b 开始,通过在 MATLAB 安装中启用适当的安全策略来配置您的 Java 安装。
在 MATLAB 编辑器中,打开文件
${MATLAB_ROOT}/sys/java/jre/${ARCH}/jre/lib/security/java.security
。将以下代码行
更改为#crypto.policy=unlimited
crypto.policy=unlimited
对于以前的版本,您必须从 Oracle 下载额外的安全文件。
从 Oracle Java SE 页面下载 Oracle Java Cryptography Extension zip 文件。
将下载的 zip 文件解压到临时文件夹中。
用下载的版本替换文件夹
local_policy.jar
中的文件US_export_policy.jar
和${MATLABROOT}/sys/java/jre/${ARCH}/jre/lib/security
。
Hadoop 版本支持
MATLAB
mapreduce
在 Hadoop 2.x 集群上受支持。请注意,已删除对 Hadoop 1.x 集群的支持。MATLAB tall 数组在启用 Spark™ 的 Hadoop 2.x 集群上受支持。您可以在支持客户端所有架构的启用了 Spark 的 Hadoop 集群上使用 tall 数组,同时支持集群的 Linux 和 Mac 架构。这包括跨平台支持。
功能 | 结果 | 改用 | 兼容性注意事项 |
---|---|---|---|
已删除在 MATLAB 1.x 集群上运行 Hadoop | 错误 | 使用安装了 Hadoop 2.x 的集群运行 MATLAB | 将在 MATLAB 1.x 上运行的 Hadoop |
另请参阅
parallel.cluster.Hadoop
(Parallel Computing Toolbox)
主题
- 为其他第三方调度器安装 MATLABParallel Server
- 在 Spark 集群上使用 tall 数组 (Parallel Computing Toolbox)
- 在 Hadoop 集群上运行 mapreduce (Parallel Computing Toolbox)
- Read and Analyze Hadoop Sequence File (MATLAB)