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


Создание кластеров Apache HBase в HDInsight в виртуальной сети Azure

Узнайте, как создавать кластеры Azure HDInsight Apache HBase в виртуальной сети Azure.

Благодаря интеграции виртуальной сети кластеры Apache HBase можно развернуть в той же виртуальной сети, что и приложения. Это позволяет приложениям взаимодействовать с HBase напрямую. К преимуществам относятся:

  • прямое подключение веб-приложения к узлам кластера HBase, который обеспечивает обмен данными с помощью интерфейсов API удаленного вызова процедур (RPC) Java для HBase;
  • повышение производительности без необходимости организации пропуска трафика через множество шлюзов и подсистемы балансировки нагрузки;
  • возможность обработки конфиденциальной информации более безопасным способом, без необходимости организации общедоступной конечной точки.

Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Создание кластера Apache HBase в виртуальной сети

В этом разделе описывается, как создать кластер Apache HBase под управлением Linux с зависимой учетной записью службы хранилища Azure в виртуальной сети Azure c помощью шаблона Azure Resource Manager. Сведения о других способах создания кластеров и их параметрах см. в статье Создание кластеров Hadoop под управлением Linux в HDInsight. Дополнительные сведения о создании в HDInsight кластеров Apache Hadoop с помощью шаблонов см. в этой статье.

Примечание.

Некоторые свойства жестко заданы в шаблоне. Например:

  • Расположение: восточная часть США 2.
  • Версия кластера: 3.6
  • Число рабочих узлов кластера: 2.
  • Учетная запись хранения по умолчанию: уникальная строка
  • Имя виртуальной сети: ИМЯ КЛАСТЕРА-vnet
  • Адресное пространство виртуальной сети: 10.0.0.0/16.
  • Имя подсети: subnet1
  • Диапазон адресов подсети: 10.0.0.0/24.

Заполнитель CLUSTERNAME будет заменен именем кластера, которое вы укажете при использовании шаблона.

  1. Выберите следующее изображение, чтобы открыть шаблон на портале Azure. Шаблон находится на странице Шаблоны быстрого запуска Azure.

    Deploy to Azure button for new cluster

  2. В диалоговом окне Настраиваемое развертывание выберите Изменить шаблон.

  3. В строке 165 измените значение Standard_A3 на Standard_A4_V2. Затем выберите Сохранить.

  4. Заполните оставшуюся часть шаблона приведенными ниже сведениями:

    Свойство Значение
    Подписка Выберите подписку Azure, которая использовалась для создания кластера HDInsight, зависимой учетной записи хранения и виртуальной сети Azure.
    Группа ресурсов Щелкните Создать и укажите имя новой группы ресурсов.
    Местонахождение Выберите расположение группы ресурсов.
    Имя кластера Введите имя создаваемого кластера Hadoop.
    Имя пользователя и пароль для кластера Имя пользователя по умолчанию — admin. Укажите пароль.
    Имя пользователя и пароль для SSH Имя пользователя по умолчанию — sshuser. Введите пароль.

    Выберите я согласен с условиями и условиями.

  5. Щелкните Приобрести. Процесс создания кластера занимает около 20 минут. Когда кластер будет создан, выберите его на портале, чтобы открыть его.

После завершения работы с этой статьей кластер можно удалить. В случае с HDInsight ваши данные хранятся в службе хранилища Azure, что позволяет безопасно удалить неиспользуемый кластер. Плата за кластеры HDInsight взимается, даже когда они не используются. Поскольку стоимость кластера во много раз превышает стоимость хранилища, экономически целесообразно удалять неиспользуемые кластеры. Инструкции по удалению кластера см. в статье Управление кластерами Apache Hadoop для Windows в HDInsight с помощью портала Azure.

Чтобы начать работу с новым кластером HBase, выполните процедуры, которые представлены в статье Начало работы с примером Apache HBase в HDInsight.

Подключение к кластеру Apache HBase с помощью API-интерфейсов удаленного вызова процедур Java Apache HBase

Создание виртуальной машины

Создайте виртуальную машину IaaS в той же виртуальной сети Azure и той же подсети. Инструкции по созданию виртуальной машины IaaS см. в статье Создание первой виртуальной машины Windows на портале Azure. При выполнении действий, описанных в этом документе, необходимо использовать следующие значения для конфигурации сети.

  • Виртуальная сеть: ИМЯ КЛАСТЕРА-vnet
  • Подсеть: subnet1

Важно!

Замените CLUSTERNAME именем, использованным при создании кластера HDInsight на предыдущих шагах.

Используя эти значения, виртуальная машина помещается в ту же виртуальную сеть и подсеть, что и кластер HDInsight. Эта конфигурация позволит им напрямую взаимодействовать друг с другом. Существует возможность создания кластера HDInsight с пустым граничным узлом. Граничный узел можно использовать для управления кластером. Подробные сведения см. в статье Использование пустых граничных узлов в HDInsight.

Получите полное доменное имя

При использовании приложения Java для удаленного подключения к HBase необходимо использовать полное доменное имя (FQDN). Чтобы определить, необходимо получить суффикс DNS для конкретного подключения кластера HBase. Для этого используйте один из следующих методов.

  • С помощью веб-браузера вызовите Apache Ambari.

    Перейдите в https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/hosts?minimal_response=true. Он вернет файл JSON с DNS-суффиксами.

  • Используйте веб-сайт Ambari.

    1. Перейдите в https://CLUSTERNAME.azurehdinsight.net.
    2. В верхнем меню щелкните Узлы.
  • Используйте Curl, чтобы выполнить вызовы REST:

    curl -u <username>:<password> -k https://CLUSTERNAME.azurehdinsight.net/ambari/api/v1/clusters/CLUSTERNAME.azurehdinsight.net/services/hbase/components/hbrest
    

В возвращенных данных JSON найдите запись «host_name». Она содержит полные доменные имена узлов в кластере. Например:

"host_name" : "hn*.hjfrnszlumfuhfk4pi1guh410c.bx.internal.cloudapp.net"

Часть доменного имени, начинающаяся с имени кластера, является DNS-суффиксом. Например, hjfrnszlumfuhfk4pi1guh410c.bx.internal.cloudapp.net.

Проверка обмена данными в виртуальной сети

Чтобы проверить обмен данными между виртуальной машиной и кластером HBase, используйте следующую команду ping headnode0.<dns suffix> на виртуальной машине. Например, ping hn*.hjfrnszlumfuhfk4pi1guh410c.bx.internal.cloudapp.net.

Чтобы использовать эту информацию в Java-приложении, создайте приложение, выполнив шаги, представленные в статье Создание приложений Java для Apache HBase. Чтобы приложение подключилось к удаленному серверу HBase, измените файл hbase-site.xml в этом примере, чтобы использовать полное доменное имя для ZooKeeper. Например:

<property>
    <name>hbase.zookeeper.quorum</name>
    <value>zookeeper0.<dns suffix>,zookeeper1.<dns suffix>,zookeeper2.<dns suffix></value>
</property>

Примечание.

Чтобы получить дополнительную информацию о разрешении имен в виртуальных сетях Azure, а также об использовании своего​ собственного DNS-сервера, ознакомьтесь со статьей Разрешение имен для ВМ и экземпляров ролей.

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

Из этой статьи вы узнали, как создать кластер Apache HBase. Дополнительные сведения см. на следующих ресурсах: