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


Использование туннелирования SSH для доступа к пользовательскому веб-интерфейсу Apache Ambari, JobHistory, NameNode, Apache Oozie и другим пользовательским интерфейсам

Кластеры HDInsight предоставляют доступ к пользовательскому веб-интерфейсу Apache Ambari через Интернет. Для некоторых функций требуется туннель SSH. Например, пользовательский веб-интерфейс для службы Apache Oozie недоступен через Интернет без туннеля SSH.

Причины для использования туннеля SSH

Некоторые меню в Ambari работают только через туннель SSH. Для этих меню используются веб-сайты и службы, выполняющиеся на узлах других типов, например рабочих узлах.

Туннель SSH требуется для следующих пользовательских веб-интерфейсов:

  • Журнал заданий
  • NameNode
  • стеки потоков;
  • веб-интерфейс Oozie
  • веб-интерфейс главного узла и журналов HBase

Для служб, установленных с помощью действий сценариев, которые делают видимой веб-службу, потребуется туннель SSH. Для Hue, установленного с помощью действия сценария, требуется туннель SSH для доступа к веб-интерфейсу.

Внимание

Если у вас есть прямой доступ к HDInsight через виртуальную сеть, то вам не нужно использовать туннели SSH. Пример прямого доступа к HDInsight через виртуальную сеть см. в статье о подключении HDInsight к локальной сети.

Что такое туннель SSH?

С помощью туннелирования Secure Shell (SSH) порт на локальном компьютере подключается к головному узлу в HDInsight. Трафик, отправленный в локальный порт, маршрутизируется по SSH-подключению к головному узлу. на котором запрос разрешается так же, как если бы он был создан на головном узле. Ответ рабочей станции отправляется обратно через туннель.

Необходимые компоненты

  • Клиент SSH. Дополнительные сведения см. в руководстве по подключению к HDInsight (Apache Hadoop) с помощью SSH.

  • Веб-браузер, который можно настроить на использование прокси-сервера SOCKS5.

    Предупреждение

    Встроенная в параметры Интернета в Windows поддержка прокси-сервера SOCKS не применяется к SOCKS5 и не работает при выполнении действий в этом документе. Следующие браузеры используют параметры прокси-сервера Windows и в настоящее время не будут работать при выполнении действий в этом документе.

    • Microsoft Edge
    • Microsoft Internet Explorer

    Google Chrome также использует параметры прокси-сервера Windows. Но можно установить расширения, которые поддерживают SOCKS5. Рекомендуется использовать FoxyProxy Standard.

Создание туннеля с помощью команды SSH

Используйте следующую команду для создания туннеля SSH с помощью команды ssh . Замените sshuser именем пользователя SSH для кластера HDInsight, а CLUSTERNAME — именем кластера HDInsight:

ssh -C2qTnNf -D 9876 sshuser@CLUSTERNAME-ssh.azurehdinsight.net

Эта команда создает подключение, через которое направляется трафик, поступающий на локальный порт 9876, в кластер по протоколу SSH. Доступные параметры:

Вариант Описание
D 9876 Локальный порт, используемый для направления трафика через туннель.
C Сжатие всех данных, так как веб-трафик преимущественно состоит из текста.
2 Принудительная попытка использовать только протокол SSH версии 2.
к Тихий режим.
T Отключение распределения псевдотелетайпа, так как выполняется только перенаправление порта.
n Предотвращение считывания с STDIN, так как выполняется только перенаправление порта.
N Запрет на выполнение удаленной команды, так как выполняется только перенаправление порта.
f Выполнять в фоновом режиме.

После завершения команды трафик, отправленный на порт 9876 локального компьютера, будет направляться на головной узел кластера.

Создание туннеля с помощью PuTTY

PuTTY — это графический клиент SSH для Windows. Если вы не работали с PuTTY, ознакомьтесь с документацией по PuTTY. Для создания туннеля SSH с помощью PuTTY выполните следующие действия.

Создание или загрузка сеанса

  1. Откройте PuTTY и выберите Session (Сеанс) в меню слева. Если уже имеется сохраненный сеанс, выберите имя сеанса из списка Сохраненные сеансы и щелкните Загрузить.

  2. Если же у вас еще нет сохраненного сеанса, введите информацию о подключении.

    Свойство Значение
    Имя узла (или IP-адрес) SSH-адрес для кластера HDInsight. Например, mycluster-ssh.azurehdinsight.net.
    Порт 22
    Тип подключения SSH
  3. Выберите Сохранить

    HDInsight создает сеанс кладки.

  4. В разделе Категории в левой части диалогового окна последовательно разверните Подключение, SSH и выберите Туннели.

  5. Введите следующую информацию в форме Параметры, управляющие перенаправлением портов SSH :

    Свойство Значение
    Исходный порт Порт на стороне клиента, трафик которого нужно перенаправлять. Например, 9876.
    Назначение SSH-адрес для кластера HDInsight. Например, mycluster-ssh.azurehdinsight.net.
    Динамический Включает динамическую маршрутизацию прокси-сервера SOCKS.

    Параметры туннелирования конфигурации PuTTY.

  6. Щелкните Добавить, чтобы добавить параметры, а затем щелкните Открыть, чтобы открыть подключение SSH.

  7. При появлении запроса войдите на сервер.

Использование туннеля из браузера

Внимание

Действия, описанные в этом разделе, используют браузер Mozilla Firefox, так как он предоставляет одинаковые параметры прокси-сервера на всех платформах. Для других современных браузеров, например Google Chrome, может потребоваться расширение, например FoxyProxy, для работы с туннелем.

  1. Настроить браузер для использования localhost и порта, использованного при создании туннеля, в качестве прокси-сервера SOCKS 5. Вот как выглядят параметры Firefox. Если используется порт, отличный от 9876, измените номер порта соответствующим образом.

    Параметры прокси-сервера браузера firefox.

    Примечание.

    Если выбрать параметр Remote DNS (Удаленная служба DNS), то запросы службы доменных имен (DNS) будут разрешаться с помощью кластера HDInsight. Этот параметр разрешает запросы DNS с помощью головного узла кластера.

  2. Чтобы проверить, работает ли туннель, зайдите на сайт https://www.whatismyip.com/. Возвращаемый IP-адрес должен быть адресом, который используется центром обработки данных Microsoft Azure.

Проверка для веб-интерфейса Ambari

После настройки кластера выполните следующие действия, чтобы удостовериться, что веб-интерфейсы служб доступны из веб-интерфейса Ambari.

  1. В браузере перейдите по адресу http://headnodehost:8080. Адрес headnodehost отправляется через туннель в кластер и разрешается в головном узле, где выполняется Ambari. При появлении запроса введите имя пользователя (admin) и пароль учетной записи администратора кластера. Веб-интерфейс Ambari может потребовать повторного ввода имени пользователя и пароля. В этом случае повторно введите имя пользователя и пароль.

    Примечание.

    При использовании адреса http://headnodehost:8080 для подключения к кластеру вы подключаетесь через туннель. Безопасность обмена данными обеспечивает туннель SSH, а не протокол HTTPS. Для подключения через Интернет по протоколу HTTPS используйте https://clustername.azurehdinsight.net, где clustername — это имя кластера.

  2. В веб-интерфейсе Ambari выберите HDFS в списке в левой части страницы.

    Выбрана служба Apache Ambari hdfs.

  3. После появления информации о службе HDFS выберите Быстрые ссылки. Появится список головных узлов кластера. Выберите один из головных узлов, а затем выберите NameNode UI(Пользовательский интерфейс NameNode).

    Изображение с развернутыми меню QuickLinks.

    Примечание.

    При выборе меню Быстрые ссылки может появиться индикатор ожидания. Это может произойти, если подключение к Интернету медленное. Подождите одну-две минуты для получения данных с сервера, а затем повторите попытку.

    Некоторые записи в меню Быстрые ссылки могут быть обрезаны правым краем экрана. В этом случае разверните меню с помощью мыши и используйте клавишу со стрелкой вправо, чтобы прокрутить экран вправо и увидеть остальную часть меню.

  4. Откроется страница, аналогичная следующей:

    Изображение пользовательского интерфейса Hadoop NameNode.

    Примечание.

    URL-адрес для этой страницы должен быть в таком формате: http://hn*.randomcharacters.cx.internal.cloudapp.net:8088/cluster. Этот URI использует полное внутреннее доменное имя узла (FQDN), и он доступен только при использовании туннеля SSH.

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

Теперь, когда вы узнали, как создать и использовать туннель SSH, просмотрите другие способы использования Ambari в следующем документе: