Авторы: Егоров А.А., Чернышова А.В.
Источник: Современные информационные технологии в образовании и научных исследованиях (СИТОНИ-2017)
Егоров А.А., Чернышова А.В. Исследование инструментов распределенной системы Hadoop. В статье предоставлено краткое сравнение основных дистрибутивов Hadoop. Указаны уникальные особенности каждого дистрибутива. Показаны основные моменты установки и настройки Cloudera Hadoop на CentOS 7. Рассмотрены установленные компоненты дистрибутива CDH 5. Выполнен обзор Hue (основного сервиса Hadoop Cloudera), а именно показано, как с помощью данного инструмента можно работать с файлами в распределенной файловой системе, составлять запросы и просматривать map-reduce задачи.
Ключевые слова: распределенная система, большие данные, обработка данных, MapReduce, распределенная файловая система, дистрибутивы Hadoop, Cloudera, CDH 5.
В большинстве случаев Hadoop ассоциируется с MapReduce и распределенной файловой системой HDFS, однако этим термином принято обозначать набор программного обеспечения с открытым исходным кодом, для отказоустойчивых, масштабируемых и распределенных вычислений [1].
Все основные проекты Hadoop разрабатываются и поддерживаются фондом Apache Software Foundation. Так как проект Hadoop является открытым, то вокруг него собралось большое сообщество, которое его развивает. Он используется многими интернет-компаниями (Yahoo, Twitter, Facebook) для обработки больших объемов данных [2].
Многие компании не только используют Hadoop, но и являются активными его разработчиками. Основным дистрибутивом и центральным репозиторием является Apache Hadoop [3]. Однако этот дистрибутив является сложным для знакомства с данной системой, так как для его развертывания необходимо предварительно настроить систему: произвести ручную установку дополнительного программного обеспечения, изменить (настроить) конфигурационные файлы и т. д. Кроме этого также необходимо проверить совместимость между компонентами Hadoop, при этом для некоторых проектов документация устарела или является неполной. Из-за этого на практике в большинстве случаев используются дистрибутивы от компаний поставщиков (vendors) Hadoop, которые решают проблему несовместимости версий. Существует множество дистрибутивов Hadoop, но основными являются:
Одним из самых известных лидеров на рынке облачных технологий и больших данных является Cloudera. Помимо того, что компания занимается выпуском и поддержкой своего коммерческого дистрибутива Hadoop, она также вносит огромный вклад в репозиторий с открытым исходным кодом. Консоль управления Cloudera Manager – простая в использовании, содержит богатый пользовательский интерфейс, который отображает всю информацию организованным и простым способом. Пакет управления, поставляемый Cloudera, автоматизирует процесс установки и предоставляет расширенные возможности пользователям: просмотр в реальном времени задействованных для задач узлов.
Уникальными особенностями дистрибутива CDH являются:
Дистрибутив компании MapR Technologies ориентирован на скорость работы. Для своих сервисов его используют такие ведущие компании как Cisco, Boeing, Amazon. В отличие от Cloudera и Hortonworks, MapR Hadoop Distribution имеет более распределенный подход для хранения метаданных на узлах обработки, поскольку он использует другую файловую систему, известную как MapR File System (MapRFS).
Особенности MapR Hadoop Distribution:
Hortonworks отличается от других дистрибутивов Hadoop тем, что это открытая коммерческая платформа, доступная для использования бесплатно. HDP легко интегрируется и используется в множестве приложений таких компаний как Ebay, Samsung Electronics, Bloomberg и Spotify. Hortonworks был первым поставщиком, который предоставил готовый дистрибутив на основе Hadoop 2.0. Хотя CDH имел функции Hadoop 2.0 в своих более ранних версиях, но все его компоненты не считались готовыми в производственных условиях. HDP – единственный дистрибутив, поддерживающий платформу Windows. Пользователи могут развернуть кластер Hadoop на основе Azure через службу HDInsight [4].
Среди уникальных особенностей HDP можно выделить следующие:
В таблице 1 приведены главные достоинства и недостатки рассмотренных выше дистрибутивов.
Дистрибутив Hadoop | Преимущества | Недостатки |
---|---|---|
Cloudera Distribution for Hadoop | Имеет дружелюбный пользовательский интерфейс с множеством особенностей и полезными инструментами такими как Cloudera Impala. | Медленный в сравнении с MapR Hadoop Distribution. |
MapR Hadoop Distribution | Один из самых быстрых дистрибутивов с прямым доступом к нескольким узлам. | Не имеет хорошего интерфейса консоли как в Cloudera. |
Hortonworks Data Platform | Единственный дистрибутив c поддержкой платформы Windows. | Простой интерфейс компонента Ambari Management не имеет богатого функционала. |
Перед установкой CDH 5 прежде всего необходимо настроить систему, а именно указать корректное имя хоста (прописать его в файле /etc/hosts), отключить SELinux и файервол [5]. Эти действия помогут в дальнейшем избежать множество ошибок и проблем. После этого в обязательном порядке нужно выполнить перезагрузку, чтобы система обновила настройки.
Далее необходимо загрузить инсталлятор Cloudera Manager [6], установить право на выполнение и запустить. После этого необходимо следовать инструкциям инсталлятора.
Пример последовательного выполнения команд в терминале (в bash-оболочке сервера) показан на рисунке 1.
На последнем этапе установки инсталлятора, появится приглашение подключиться по ip-адресу хоста на порт 7180 и продолжить настройку и установку с помощью Cloudera Manager, используя уже веб-интерфейс. Пример одного из шагов, а именно выбора варианта (выпуска) версии, показан на рисунке 2. После успешной установки будут доступны средства управления сервисами Hadoop, пример показан на рисунке 3.
Для проверки корректной установки CDH можно выполнить пример map-reduce задачи, который поставляется с Hadoop [7]. На рисунке 4 показано выполнение вычисления приближенного числа Pi методом Монте-Карло.
Во время инсталляции Cloudera Express 5.13.0 были установлены такие пакеты:
Основным компонентом, с которого следует начать ознакомление с системой Hadoop, служит Hue (Hadoop User Experience). Hue – это проект компании Cloudera с открытым исходным кодом, используемый не только для составления запросов и анализа полученных результатов, но и для визуализации данных.
Hue содержит в себе такие элементы:
Для начала работы с Hadoop, используя Hue, необходимо перейти по адресу http://[hostname]:8889 (где [hostname] – имя хоста, прописанное перед установкой, узнать которое можно выполнив команду hostname
в терминале системы) и зарегистрироваться с пользовательским именем «hdfs». После входа в Hue, можно работать с файлами, составлять запросы и просматривать задачи.
Для демонстрации работы необходимо создать файл, содержащий журнал входа в некоторую информационную систему. На рисунке 5 показано содержимое файла. И на основе этого файла определить таблицу (см. рис. 6).
После того, как определены данные, можно создать HiveSQL-запрос, который преобразуется в map-reduce задачу. На рисунке 7 показан результат выполнения запроса, который подсчитывает суммарное количество входов в систему за 2014 год и выводит первых двух пользователей с максимальным количеством входов.
На рисунке 8 показан обозреватель задач, которые были поставлены в очередь на выполнение.
В статье рассмотрены основные дистрибутивы Hadoop. Приведено сравнение дистрибутивов: Cloudera Distribution for Hadoop, MapR Hadoop Distribution, Hortonworks Data Platform. Указаны основные шаги установки CDH 5 на CentOS. Выполнен обзор инструмента Hue, который позволяет начинающим пользователям начать взаимодействовать с сервисами Hadoop через веб-интерфейс.
1. Том Уайт. Hadoop: Подробное руководство. – СПб.: Питер, 2013. – 672 с.: ил. 2. Hadoop: что, где и зачем // Хабрахабр. [Электронный ресурс]. – Режим доступа: https://habrahabr.ru/post/240405/ 3. Чак Лэм. Hadoop в действии. – М.: ДМК Пресс, 2012. – 424 с.: ил. 4. Cloudera vs. Hortonworks vs. MapR - Hadoop Distribution Comparison // DeZyre. [Электронный ресурс]. – Режим доступа: https://www.dezyre.com/article/cloudera-vs-hortonworks-vs-mapr-hadoop-distribution-comparison-/190 5. Установка HDFS на базе Cloudera // Цинизм в IT. [Электронный ресурс]. – Режим доступа: https://www.stableit.ru/2013/10/hdfs-cloudera-hadoop-440-centos-6.html 6. Hadoop, часть 1: развертывание кластера // Хабрахабр. [Электронный ресурс]. – Режим доступа: https://habrahabr.ru/company/selectel/blog/198534/ 7. Testing the Installation // Cloudera. [Электронный ресурс]. – Режим доступа: https://www.cloudera.com/documentation/enterprise/latest/topics/cm_ig_testing_the_install.html 8. CDH Overview // Cloudera. [Электронный ресурс]. – Режим доступа: https://www.cloudera.com/documentation/enterprise/5-6-x/topics/cdh_intro.html 9. Cloudera // Github. [Электронный ресурс]. – Режим доступа: https://github.com/cloudera 10. Hue // Github. [Электронный ресурс]. – Режим доступа: https://github.com/cloudera/hue
Егоров А.А., Чернышова А.В. Исследование инструментов распределенной системы Hadoop. В статье предоставлено краткое сравнение основных дистрибутивов Hadoop. Указаны уникальные особенности каждого дистрибутива. Показаны основные моменты установки и настройки Cloudera Hadoop на CentOS 7. Рассмотрены установленные компоненты дистрибутива CDH 5. Выполнен обзор Hue (основного сервиса Hadoop Cloudera), а именно показано, как с помощью данного инструмента можно работать с файлами в распределенной файловой системе, составлять запросы и просматривать map-reduce задачи.
Ключевые слова: распределенная система, большие данные, обработка данных, MapReduce, распределенная файловая система, дистрибутивы Hadoop, Cloudera, CDH 5.
Yegorov A.A., Chernyshova A.V. Hadoop tools research. The article provides a brief comparison of the main distributions of Hadoop. The unique features of each distribution are indicated. The basic steps of installation and configuration of Cloudera Hadoop on CentOS 7. The installed components of the CDH 5 distribution are considered. A review of Hue (the main Hadoop Cloudera service) is performed, namely it shows how with this tool you can work with files in a distributed file system, make requests and view map-reduce tasks.
Keywords: distributed systems, big data, data processing, MapReduce, distributed file system, Hadoop Distribution, Cloudera, CDH 5.