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