Apache Hama - Apache Hama
Разработчики) | Фонд программного обеспечения Apache |
---|---|
Предварительный выпуск | 0.7.1 / 14 марта 2016 г. |
Репозиторий | Хама репозиторий |
Написано в | Ява |
Операционная система | Кроссплатформенность |
Тип | Распределенных вычислений, объемная синхронная параллель |
Лицензия | Лицензия Apache 2.0 |
Интернет сайт | Хама |
Apache Hama это распределенная вычислительная среда, основанная на объемная синхронная параллель вычислительные методы для массовых научных вычислений, например, матричные, графические и сетевые алгоритмы.[1] Это проект верхнего уровня в рамках Фонд программного обеспечения Apache. Он был создан Эдвардом Дж. Юном,[2] назвал его (сокращенно от «Hadoop Matrix») и вдохновился Google Платформа Pregel для крупномасштабных графовых вычислений, описанная в 2010 году.[3] Хама также означает бегемот на корейском языке (하마),[4] следуя тенденции называть проекты Apache именами животных и зоологии (например, Апачская свинья ).
Архитектура
Hama состоит из трех основных компонентов: BSPMaster, GroomServers и Zookeeper.[5]
BSPMaster
BSPMaster несет ответственность за:
- Поддержание статуса сервера groom
- Управление супершагами в кластере
- Ведение информации о ходе работы
- Планирование заданий и назначение задач серверам очистки
- Распространение класса выполнения по серверам подготовки
- Контроль неисправности
- Предоставление пользователям интерфейса управления кластером.
Мастер BSP и несколько грумов запускаются сценарием. Затем мастер bsp запускает сервер RPC для серверов очистки. Серверы Groom запускаются с экземпляром BSPPeer и прокси RPC для связи с мастером bsp. После запуска каждый groom периодически отправляет контрольное сообщение, в котором указывается состояние его сервера groom, включая максимальную емкость задачи, неиспользуемую память и так далее.
Каждый раз, когда мастер BSP получает контрольное сообщение, он обновляет статус сервера groom - мастер bsp использует статус серверов groom, чтобы эффективно назначать задачи незанятым серверам groom - и возвращает ответ пульса, который содержит назначенные задачи и другие действия, которые должен выполнять обслуживающий сервер. На данный момент у нас есть планировщик заданий FIFO и очень простые алгоритмы назначения задач.
GroomServer
Сервер очистки (сокращенно groom) - это процесс, который выполняет задачи BSP, назначенные BSPMaster. Каждый клиент связывается с BSPMaster, и он берет на себя поставленные задачи и сообщает о своем статусе с помощью периодических совмещений с BSPMaster. Каждый groom разработан для работы с HDFS или другими распределенными хранилищами. По сути, сервер очистки и узел данных должны работать на одном физическом узле.
Работник зоопарка
Zookeeper используется для управления эффективной барьерной синхронизацией BSPPeers.
Смотрите также
Рекомендации
- ^ «Апач Хама». Веб-сайт проекта. Получено 20 сентября, 2013.
- ^ Предложение Apache Hama
- ^ Гжегож Малевич; Мэтью Х. Остерн; Аарт Дж. К. Бик; Джеймс К. Денерт; Илан Хорн; Нати Лейзер; Гжегож Чайковский (2010). «Pregel: система для обработки крупномасштабных графиков». Материалы Международной конференции по управлению данными ACM SIGMOD 2010 г.. С. 135–146. Дои:10.1145/1807167.1807184. ISBN 9781450300322.
- ^ "하마 - 위키 낱말 사전". ko.wiktionary.org (на корейском). Получено 2019-02-21.
- ^ Архитектура Apache Hama