Кластер Hadoop для mapreducer, mapreduce и длинных массивов
Объект parallel.cluster.Hadoop обеспечивает доступ к кластеру для конфигурирования mapreducer, mapreduce и длинных массивов.
Объект parallel.cluster.Hadoop имеет следующие свойства.
Свойство | Описание |
---|---|
AdditionalPaths | Пути, которые будут добавлены к пути поиска файлов команды MATLAB на рабочих |
AttachedFiles | Файлы, переданные рабочим во время mapreduce вызвать |
AutoAttachFiles | Задает ли автоматически файлы присоединения |
ClusterMatlabRoot | Задает путь к MATLAB для рабочих, чтобы использовать |
HadoopConfigurationFile | Файл конфигурации приложения, который будет дан Hadoop |
HadoopInstallFolder | Местоположение установки Hadoop на локальной машине |
HadoopProperties | Карта пар свойства значения имени, которые будут даны Hadoop |
LicenseNumber | Номер лицензии, чтобы использовать с онлайновым лицензированием |
RequiresOnlineLicensing | Задайте, использует ли кластер онлайн лицензирование |
SparkInstallFolder | Местоположение установки Spark на локальной машине |
SparkProperties | Карта пар свойства значения имени, которые будут даны Spark |
HadoopProperties
позволяет вам заменять свойства настройки для Hadoop. См. список свойств в документации Hadoop®.
SparkInstallFolder
набором по умолчанию к SPARK_HOME
переменная окружения. Это требуется для оценки длинного массива на Hadoop (но не для mapreduce). Для правильно сконфигурированного кластера только необходимо установить папку установки.
SparkProperties
позволяет вам заменять свойства настройки для Spark. См. список свойств в документации Spark®.
Для дальнейшей справки введите:
help parallel.cluster.Hadoop
Включенные кластеры Hadoop Spark устанавливают границы того, сколько памяти доступно. Необходимо настроить эти пределы, чтобы поддержать рабочий процесс.
Объем данных, собранный клиенту, ограничивается свойствами Spark:
spark.driver.memory
spark.executor.memory
Объем данных, чтобы собраться из одной задачи Spark должен поместиться в эти свойства. Одна задача Spark обрабатывает один блок данных от HDFS, который составляет 128 Мбайт данных по умолчанию. Если вы собираете длинный массив, содержащий большинство исходных данных, необходимо гарантировать, что эти свойства собираются соответствовать.
Если эти свойства установлены слишком маленькие, вы видите ошибку как следующее.
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 ограничивается свойством Spark:
spark.yarn.executor.memoryOverhead
По умолчанию это установлено в 2,5 Гбайт. Обычно необходимо увеличивать это, если вы используете arrayfun
cellfun
, или пользовательские хранилища данных, чтобы сгенерировать большие объемы данных сразу. Желательно увеличить это, если вы сталкиваетесь с потерянными или разрушенными процессами Исполнителя Spark.
Можно настроить эти свойства или в настройках по умолчанию кластера или непосредственно в MATLAB. Чтобы настроить свойства в MATLAB, добавьте пары "имя-значение" в свойство SparkProperties кластера. Например:
cluster = parallel.cluster.Hadoop; cluster.SparkProperties('spark.yarn.executor.memoryOverhead') = '4096m'; mapreducer(cluster);