MapReduce представляет собой модель программирования для больших наборов данных (более 1 Тб) параллельных вычислений. Понятие «Карта (Mapping)» и «Reduce (уменьшение)», и их основная идея заимствовано, и заимствованы из свойств языка программирования вектора из функциональных языков программирования. Это очень легко для программистов в случае не будет распространяться и параллельное программирование будет владеть программ, выполняющихся на распределенной системе. Текущая реализация программного обеспечения является определение функции Map (отображение), пара ключ-значение используется для отображения в новый набор пар ключ-значение указанной функции одновременно уменьшить (сокращение), чтобы гарантировать, что все отображения значения ключа каждая группа одни и те же клавиши.
Запустите программу WordCount
CD /opt/module/hadoop-2.7.3/share/hadoop/mapreduce в пути WordCount лежит.
Запуск сенсорной in.txt, создать In.txt файл в качестве входного файла.
(Если in.txt пустой файл, запустите VI in.txt, статистическую частоту слов , как содержание входного входного файла)
выходной каталог / выход не должен существовать, автоматически создавать программу запущенной.
Запуск WordCount:
Hadoop Hadoop-JAR-примеры-2.7.3.jar MapReduce WordCount /adir/in.txt выхода /
после успешного запуска, введите / выходной каталог, откройте файл частичного г-00000 Просмотра подсчета результатов.
MapReduce обеспечивает следующие основные функции:
1) рассчитывается разделение данных и планирование:
Система автоматически задание (задание), подлежащая обработке большое количество данных делятся на блоки данных, каждый блок данных соответствует расчетной задаче (задачи), и автоматически планировать узлы обработки для вычисления соответствующих блока данных. Работа и функция планирования задач в основном отвечает за распределение и планирование вычислительных узлов (Карта Уменьшить узел или узлы), в то время как государство несет ответственность за контроль за осуществление этих узлов, а также отвечают за выполнение синхронного управления узлом Map.
2) данные / код взаимное расположение:
Для того, чтобы уменьшить передачу данных, фундаментальный принцип обработки данных локализован, т.е. обработки данных вычислительных узел на своем локальном запоминающем устройстве диска распределяются в максимально возможной степени, которая позволяет код миграции в данном, это не представляется возможным, когда локализованы обработки данных , а затем искать другие доступные данные, загруженные из сетевого узла и посланных к узлу (миграции данных в коде), то можно будет найти доступный узел, из которого данные по локальной стойке, чтобы уменьшить задержку связи.
3) Оптимизация системы:
Для того, чтобы уменьшить накладные расходы на передаче данных, промежуточные данные результата будут ввести определенные уменьшить передний узел обработки объединения; уменьшить узел данные могут быть обработаны из множества узлов карты, с тем чтобы избежать возникновения данных Уменьшить этап вычисления корреляции, промежуточная выходной узел Карту результаты должны использовать обработку соответствующего разделения определенной стратегии, гарантированные данные доставки, относящиеся к тому же узлу уменьшить, кроме того, система также некоторые оптимизации производительности обработки вычислений, таких как вычислительные задачи медленные мульти резервные копии, выбранные из наиболее быстро, чтобы завершить которые в результате.
4) обнаружение ошибок и восстановление:
MapReduce крупномасштабных вычислительные кластеры конфигурации коммерческого сервера низкого уровня, аппаратный узел (хост, диск, память и т.д.) и ошибки программного обеспечения ошибок являются нормой, и, следовательно, MapReduce должны быть в состоянии обнаружить и изолировать ошибки узлов, и планировать новый узел назначается взять на узле ошибки вычислительные задачи. В то же время, система будет поддерживать надежность хранения данных, повысить надежность хранения данных с несколькими резервированием механизма хранения резервного копирования, а также своевременного обнаружения ошибок и восстановления данных.