parallel.cluster.Hadoop
用于 mapreducer、mapreduce 和 tall 数组的 Hadoop 集群
描述
parallel.cluster.Hadoop 对象提供对集群的访问,以配置 mapreducer、mapreduce 和 tall 数组。
属性
parallel.cluster.Hadoop 对象具有以下属性。
| 属性 | 描述 |
|---|---|
AdditionalPaths | 要添加到 MATLAB 工作单元搜索路径的文件夹,指定为字符向量、字符串或字符串数组或字符向量元胞数组 |
AttachedFiles | 在 mapreduce 调用期间发送给工作单元的文件和文件夹,指定为字符向量、字符串或字符串数组或字符向量元胞数组 |
AutoAttachFiles | 指定是否自动附加文件 |
ClusterMatlabRoot | 指定 MATLAB 的路径,供工作单元使用 |
HadoopConfigurationFile | 要提供给 Hadoop 的应用程序配置文件 |
HadoopInstallFolder | 本地计算机上 Hadoop 的安装位置 |
HadoopProperties | 要提供给 Hadoop 的名称-值属性对的映射 |
LicenseNumber | 用于在线许可的许可证号码 |
RequiresOnlineLicensing | 指定集群是否使用在线许可 |
SparkInstallFolder | Spark 在本地计算机的安装位置 |
SparkProperties | 要提供给 Spark 的名称-值属性对的映射 |
当您将计算任务卸载到工作单元时,客户端进行计算所需的任何文件也必须在工作单元上可用。默认情况下,客户端会尝试检测并附加这些文件。要关闭自动检测,请将 AutoAttachFiles 属性设置为 false。如果软件无法找到所有文件,或者从客户端向工作单元发送文件的速度很慢,请使用以下选项之一。
如果文件位于工作单元无法访问的文件夹中,请设置
AttachedFiles属性。集群将您指定的每个文件从客户端复制到工作单元。如果文件位于工作单元可访问的文件夹中,则可以设置
AdditionalPaths属性。使用AdditionalPaths属性将路径添加到每个工作单元的 MATLAB® 搜索路径,并避免不必要地从客户端复制到工作单元。
HadoopProperties 允许您覆盖 Hadoop 的配置属性。请参阅 Hadoop® 文档中的属性列表。
SparkInstallFolder 默认设置为 SPARK_HOME 环境变量。这对于 Hadoop 上的 tall 数组评估是必需的(但对于 mapreduce 不是)。对于正确配置的集群,您只需设置安装文件夹。
SparkProperties 允许您覆盖 Spark 的配置属性。请参阅 Spark® 文档中的属性列表。
帮助
如需进一步的帮助,请键入:
help parallel.cluster.Hadoop
指定内存属性
Spark 启用了 Hadoop 集群对可用内存量进行限制。您必须调整这些限制以支持您的工作流。
要收集的数据大小
收集到客户端的数据量受到 Spark 属性的限制:
spark.driver.memoryspark.executor.memory
从单个 Spark 任务收集的数据量必须符合这些属性。单个 Spark 任务处理来自 HDFS 的一个数据块,默认情况下为 128 MB 数据。如果您收集包含大部分原始数据的 tall 数组,则必须确保这些属性设置为适合。
如果这些属性设置得太小,您会看到如下错误。
Error using tall/gather (line 50) Out of memory; unable to gather a partition of size 300m from Spark. Adjust the values of the Spark properties spark.driver.memory and spark.executor.memory to fit this partition.
在集群的默认设置中或直接在 MATLAB 中调整属性。要调整 MATLAB 中的属性,请将名称-值对添加到集群的 SparkProperties 属性。例如:
cluster = parallel.cluster.Hadoop; cluster.SparkProperties('spark.driver.memory') = '2048m'; cluster.SparkProperties('spark.executor.memory') = '2048m'; mapreducer(cluster);
为 MATLAB 工作单元指定工作内存大小
MATLAB 工作单元的工作内存量受 Spark 属性限制:
spark.yarn.executor.memoryOverhead
默认情况下,设置为 2.5 GB。如果您使用 arrayfun、cellfun 或自定义数据存储一次性生成大量数据,则通常需要增加此值。如果遇到 Spark Executor 进程丢失或崩溃的情况,建议增加此值。
您可以在集群的默认设置中或直接在 MATLAB 中调整这些属性。要调整 MATLAB 中的属性,请将名称-值对添加到集群的 SparkProperties 属性。例如:
cluster = parallel.cluster.Hadoop; cluster.SparkProperties('spark.yarn.executor.memoryOverhead') = '4096m'; mapreducer(cluster);
版本历史记录
在 R2014b 中推出