Кластер 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 |
При разгрузке расчетов работникам все файлы, необходимые для расчетов на клиенте, также должны быть доступны для работников. По умолчанию клиент пытается автоматически обнаружить и прикрепить такие файлы. Чтобы выключить автоматическое обнаружение, установите AutoAttachFiles
свойство false. Если автоматическое обнаружение не может найти все файлы или если отправка файлов из клиента в рабочий процесс происходит медленно, используйте следующие свойства.
Если файлы находятся в папке, которая не доступна для работников, установите 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 Executor.
Можно настроить эти свойства либо в настройках кластера по умолчанию, либо непосредственно в MATLAB. Чтобы настроить свойства в MATLAB, добавьте пар "имя-значение" к свойству SparkProperties кластера. Для примера:
cluster = parallel.cluster.Hadoop; cluster.SparkProperties('spark.yarn.executor.memoryOverhead') = '4096m'; mapreducer(cluster);