Кластер Hadoop для mapreducer, mapreduce и длинных массивов
Объект parallel.cluster.Hadoop обеспечивает доступ к кластеру для конфигурирования mapreducer, mapreduce и длинных массивов.
Объект parallel.cluster.Hadoop имеет следующие свойства.
Свойство | Описание |
---|---|
AdditionalPaths | Папки, чтобы добавить к пути поиска файлов MATLAB рабочих в виде вектора символов, массива строк или массива строк или массива ячеек из символьных векторов |
AttachedFiles | Файлы и папки, которые отправляются рабочим во время a mapreduce вызовите в виде вектора символов, массива строк или массива строк или массива ячеек из символьных векторов |
AutoAttachFiles | Задает ли автоматически файлы присоединения |
ClusterMatlabRoot | Задает путь к MATLAB для рабочих, чтобы использовать |
HadoopConfigurationFile | Файл конфигурации приложения, который будет дан Hadoop |
HadoopInstallFolder | Местоположение установки Hadoop на локальной машине |
HadoopProperties | Карта пар свойства значения имени, которые будут даны Hadoop |
LicenseNumber | Номер лицензии, чтобы использовать с онлайновым лицензированием |
RequiresOnlineLicensing | Задайте, использует ли кластер онлайн лицензирование |
SparkInstallFolder | Местоположение установки Spark на локальной машине |
SparkProperties | Карта пар свойства значения имени, которые будут даны Spark |
Когда вы разгружаете расчеты рабочим, любые файлы, которые требуются для расчетов на клиенте, должны также быть доступными на рабочих. По умолчанию клиент пытается автоматически обнаружить и присоединить такие файлы. Чтобы выключить автоматическое обнаружение, установите AutoAttachFiles
свойство ко лжи. Если автоматическое обнаружение не может найти все файлы, или если отправка файлов от клиента рабочему является медленной, используйте следующие свойства.
Если файлы находятся в папке, которая не доступна на рабочих, установите AttachedFiles
свойство. Кластер копирует каждый файл, который вы задаете от клиента рабочим.
Если файлы находятся в папке, которая доступна на рабочих, можно установить AdditionalPaths
свойство вместо этого. Используйте AdditionalPaths
свойство добавить пути к MATLAB каждого рабочего® путь поиска файлов и старается не копировать файлы излишне от клиента рабочим.
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);