Использование туннелирования 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 Локальный порт, используемый для направления трафика через туннель.
О Сжатие всех данных, так как веб-трафик преимущественно состоит из текста.
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 create putty session.

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

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

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

    PuTTY Configuration tunneling options.

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

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

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

Внимание

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

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

    firefox browser proxy settings.

    Примечание.

    Если выбрать параметр 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 service selected.

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

    Image with the QuickLinks menu expanded.

    Примечание.

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

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

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

    Image of the Hadoop NameNode UI.

    Примечание.

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

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

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