Vanilla Hadoop и Apache Bigtop
Как известно, бинарные версии Hadoop-компонентов доступны на веб-сайте каждого из проектов экосистемы. При этом вы можете загрузить их и начать инсталляцию, правда, у вас будет отсутствовать уверенность в том, что загруженные версии компонентов совместимы друг с другом. И вот здесь может помочь Apache Bigtop.
Не секрет, что Hadoop не является монолитным продуктом, а, представляет собой, по сути, целый набор сервисов, которые расположены вокруг его распределенной файловой системы HDFS. При этом на практике мало кому бывает достаточно лишь одного файлового кластера. Одни выбирают Hive, другие — Presto, кто-то — HBase и Phoenix, все чаще применяют Spark. Что касается оркестрации и загрузки данных, можно вспомнить Oozie, Sqoop, Flume. Если же поднимается тема обеспечения безопасности, пригодится, к примеру, Kerberos в связке с Ranger.
Apache Bigtop позволит вам выполнить сборку из maven-репозиториев Apache, а также прогнать тесты и собрать пакеты. И, что немаловажно, Bigtop соберет только те версии компонентов, которые являются совместимыми между собой.
Итак, Apache Bigtop представляет собой полезный инструмент, предназначенный для сборки, пакетирования и тестирования open source-проектов, таких, к примеру, как Hadoop и Greenplum. Этот инструмент имеет много релизов, и в разных версиях релизов применяются разные версии компонентов. Кроме того, меняется и состав компонентов, которые поддерживаются. Устаревшие и необновляемые уходят, а на их место приходят более новые и востребованные, причем совсем не обязательно, чтобы это было что-то из семейства Apache. Нельзя не сказать и о том, что у Bigtop есть множество форков.
Еще один большой плюс Bigtop — открытость и универсальность инструментов. В фундаменте находятся: — Gradle. Хорошо известный инструмент, с помощью которого Google собирает Android. Инструмент гибок и, что называется, проверен в бою; — Apache Maven. Штатный инструмент, предназначенный для сборки проектов непосредственно в самом Apache, и, т. к. большинство его продуктов выпускается как раз через Maven, тут тоже без него не обошлось. Еще хотелось бы обратить внимание на POM — «фундаментальный» xml-файл, где описывается все необходимое для работы Maven с вашим проектом, то есть вокруг него и строится вся работа. Кстати, как раз в части Maven и возникает ряд препятствий, на которые чаще всего наталкивается тот, кто впервые берется за Bigtop.
Если интересует практическая составляющая работы с Bigtop, вам сюда. Если же хотите изучить Spark, Hadoop, Hive, обратите внимание на специальный курс в OTUS!