Поделиться через


Использование внешних хранилищ метаданных в Azure HDInsight

Внимание

Хранилище метаданных по умолчанию предоставляет базовый уровень для Базы данных SQL Azure, обеспечивающий только 5 DTU и максимальный размер данных 2 ГБ (увеличить эти значения нельзя). Используйте его только в целях контроля качества и тестирования. Для больших или производственных рабочих нагрузок рекомендуется перейти на внешнее хранилище метаданных.

Служба Azure HDInsight позволяет управлять данными и метаданными с помощью внешних хранилищ данных. Эта функция доступна для хранилища метаданных Apache Hive, хранилища метаданных Apache Oozie и базы данных Apache Ambari.

Хранилище метаданных Apache Hive в HDInsight является важной частью архитектуры Apache Hadoop. Хранилище метаданных — это центральный репозиторий схем. Его используют другие средства доступа к большим данным, такие как Apache Spark, Interactive Query (LLAP), Presto и Apache Pig. HDInsight использует базу данных SQL Azure в качестве хранилища метаданных Hive.

HDInsight Hive Metadata Store Architecture.

Есть два способа настроить хранилище метаданных для кластеров HDInsight:

Хранилище метаданных по умолчанию.

По умолчанию HDInsight создает хранилище метаданных с каждым типом кластера. Вместо этого можно указать пользовательское хранилище метаданных. При использовании хранилища метаданных по умолчанию учитывайте следующее:

  • Ограниченные ресурсы. См. уведомление в верхней части страницы.

  • Дополнительные затраты не требуются. HDInsight создает хранилище метаданных с каждым типом кластера без дополнительных затрат с вашей стороны.

  • Хранилище метаданных по умолчанию является частью жизненного цикла кластера. При удалении кластера соответствующее хранилище метаданных и метаданные также удаляются.

  • Хранилище метаданных по умолчанию рекомендуется использовать только для простых рабочих нагрузок, которым не требуется несколько кластеров и чьи метаданные не нужно сохранять за пределами жизненного цикла кластера.

  • Хранилище метаданных по умолчанию нельзя совместно использовать с другими кластерами.

Пользовательское хранилище метаданных.

HDInsight также поддерживает пользовательские хранилища метаданных, которые рекомендуется использовать для кластеров в рабочей среде:

  • В качестве хранилища метаданных указывается собственная База данных SQL Azure.

  • Жизненный цикл хранилища метаданных не привязан к жизненному циклу кластеров, поэтому вы можете создавать и удалять кластеры без потери метаданных. Метаданные, такие как схемы Hive, сохраняются даже после удаления и повторного создания кластера HDInsight.

  • Пользовательское хранилище метаданных позволяет присоединять к этому хранилищу метаданных кластеры различных типов. Например, одно хранилище метаданных может совместно использоваться в кластерах Interactive Query, Hive и Hive в HDInsight.

  • Вы оплачиваете хранилище метаданных (База данных SQL Azure) в соответствии с выбранным уровнем производительности.

  • При необходимости хранилище метаданных можно масштабировать.

  • Кластер и внешнее хранилище метаданных должны размещаться в одном регионе.

HDInsight Hive Metadata Store Use Case.

Создание и настройка Базы данных SQL Azure для пользовательского хранилища метаданных

Перед настройкой пользовательского хранилища метаданных Hive для кластера HDInsight создайте или используйте существующую базу данных SQL Azure. Дополнительные сведения см. в статье Быстрое начало: создание отдельной базы данных в Базе данных SQL Azure.

При создании кластера службе HDInsight необходимо подключиться к внешнему хранилищу метаданных и проверить ваши учетные данные. Также нужно настроить правила брандмауэра базы данных Azure SQL, чтобы службы и ресурсы Azure имели доступ к серверу. Включите этот параметр на портале Microsoft Azure, выбрав пункт Настройка брандмауэра для сервера. Выберите Нет под пунктом Запретить доступ к общедоступной сети и Да под пунктом Разрешить доступ к серверу службам и ресурсам Azure для Базы данных SQL Azure. Дополнительные сведения см. в статье о создание и администрировании правил брандмауэра для IP-адресов

Частные конечные точки для хранилищ SQL поддерживаются только в кластерах, созданных с помощью outbound ResourceProviderConnection. Дополнительные сведения см. в документации.

set server firewall button.

allow azure services access.

Выбор пользовательского хранилища метаданных во время создания кластера

Вы можете в любой момент времени указать кластеру ранее созданную базу данных SQL Azure. Чтобы создать кластер на портале нужно указать этот параметр в настройках Хранилище > Параметры хранилища метаданных.

HDInsight Hive Metadata Store Azure portal.

Рекомендации по хранилищу метаданных Apache Hive

Примечание.

По возможности используйте пользовательское хранилище метаданных, так как это поможет разделить вычислительные ресурсы в выполняемом кластере и метаданные из хранилища метаданных. Начните с уровня S2, который предоставляет 50 единиц передачи данных (DTU) и хранилище емкостью 250 ГБ. Если вы видите узкое место, можно увеличить масштаб базы данных.

  • Если требуется несколько кластеров HDInsight для доступа к отдельным данным, используйте отдельную базу данных для хранилища метаданных для каждого кластера. Если хранилище метаданных используется совместно в нескольких кластерах HDInsight, это означает, что кластеры используют одинаковые метаданные и базовые файлы данных пользователей.

  • Периодически архивируйте пользовательское хранилище метаданных. База данных SQL Azure автоматически создает резервные копии, но период их хранения различается. Дополнительные сведения см. в разделе Подробнее об автоматически создаваемых резервных копиях в базе данных SQL.

  • Разместите свое хранилище метаданных и кластер HDInsight в одном регионе. Такая конфигурация обеспечит самую высокую производительность и минимальную плату за исходящий сетевой трафик.

  • Отслеживайте производительность и доступность хранилища метаданных с помощью средств мониторинга Базы данных SQL Azure или журналов Azure Monitor.

  • При создании новой, более поздней версии Azure HDInsight для существующей пользовательской базы данных хранилища метаданных система обновляет схему хранилища метаданных. Для отката обновления придется восстанавливать базу данных из резервной копии.

  • Если вы совместно используете хранилище метаданных в нескольких кластерах, убедитесь, что все кластеры имеют одну и ту же версию HDInsight. Различные версии Hive используют разные версии базы данных хранилища метаданных. Например, хранилище метаданных не может использоваться совместно кластерами Hive 2.1 и Hive 3.1.

  • В HDInsight 4.0 Spark и Hive используют независимые каталоги для доступа к таблицам SparkSQL или Hive. Таблица, созданная Spark, находится в каталоге Spark. Таблица, созданная Hive, находится в каталоге Hive. Такое поведение отличается от версии HDInsight 3.6, где Hive и Spark совместно использовали общий каталог. Интеграция Hive и Spark в HDInsight 4.0 основана на соединителе Hive Warehouse Connector (HWC). HWC работает как мост между Spark и Hive. Изучите особенности Hive Warehouse Connector.

  • В HDInsight 4.0 можно настроить совместное использование хранилища метаданных для Hive и Spark, указав для свойства хранилища metastore.catalog.default значение hive в кластере Spark. Это свойство можно найти в Ambari Advanced spark2-hive-site-override. Важно понимать, что совместное использование хранилища метаданных работает только для внешних таблиц Hive, но не для внутренних или управляемых таблиц Hive или таблиц ACID.

Обновление пароля для настраиваемого хранилища метаданных Hive

При использовании базы данных настраиваемого хранилища метаданных Hive вы можете изменить пароль базы данных SQL. Если изменить пароль для настраиваемого хранилища метаданных, службы Hive не будут работать, пока вы не обновите пароль в кластере HDInsight.

Чтобы обновить пароль хранилища метаданных Hive, сделайте следующее:

  1. Откройте пользовательский интерфейс Ambari.
  2. Выберите Службы --> Hive --> Конфигурации --> База данных.
  3. Обновите поля Пароль базы данных, используя новый пароль базы данных SQL Server.
  4. Нажмите кнопку Проверить подключение, чтобы убедиться, что новый пароль работает.
  5. Нажмите кнопку Сохранить.
  6. Следуйте указаниям Ambari, чтобы сохранить конфигурацию и перезапустить необходимые службы.

Хранилище метаданных Apache Oozie

Apache Oozie — это система координации рабочих процессов, которая управляет заданиями Hadoop. Эта система поддерживает задания Hadoop для Apache MapReduce, Pig, Hive и т. д. Oozie использует хранилище метаданных для сохранения сведений о рабочих процессах. Для повышения производительности Oozie можно использовать Базу данных SQL Azure в качестве хранилища метаданных. Хранилище метаданных позволяет осуществлять доступ к данным задания Oozie после удаления кластера.

Дополнительные инструкции по созданию хранилища метаданных Oozie с базой данных SQL Azure см. в статье Использование Oozie с Hadoop для определения и запуска рабочих процессов в Azure HDInsight под управлением Linux.

Обновление пароля для настраиваемого хранилища метаданных Oozie

При использовании базы данных настраиваемого хранилища метаданных Oozie вы можете изменить пароль базы данных SQL. Если изменить пароль для настраиваемого хранилища метаданных, службы Oozie не будут работать, пока вы не обновите пароль в кластере HDInsight.

Чтобы обновить пароль хранилища метаданных Oozie, сделайте следующее:

  1. Откройте пользовательский интерфейс Ambari.
  2. Выберите Службы --> Oozie --> Конфигурации --> База данных.
  3. Обновите поля Пароль базы данных, используя новый пароль базы данных SQL Server.
  4. Нажмите кнопку Проверить подключение, чтобы убедиться, что новый пароль работает.
  5. Нажмите кнопку Сохранить.
  6. Следуйте указаниям Ambari, чтобы сохранить конфигурацию и перезапустить необходимые службы.

Пользовательская база данных Ambari DB

В статье о пользовательских базах данных Apache Ambari приведены сведения о том, как использовать собственную внешнюю базу данных с Apache Ambari в HDInsight.

Следующие шаги