Определение топологий кластера

Knox Gateway осуществляет поддержку одного или нескольких кластеров Hadoop. Каждая конфигурация кластера определяется в файле дескриптора топологии в каталоге шлюза $gateway/conf/topologies и разворачивается в соответствующем WAR-файле в каталоге $gateway/data/deployments. Данные файлы определяют, как шлюз взаимодействует с каждым кластером Hadoop.

Дескриптор представляет собой XML-файл, содержащий:

  • gateway/provider – параметры конфигурации, установленные шлюзом Knox при предоставлении доступа к кластеру Hadoop;
  • service – URL-адреса сервиса Hadoop, используемые шлюзом для прокси-связи с внешними клиентами.

Шлюз автоматически перераспределяет кластер при обнаружении нового файла дескриптора топологии или при обнаружении изменений в существующем файле. Далее в таблице представлен обзор провайдеров и сервисов.

Табл. 48. Провайдеры и сервисы
Тип Роль Описание
gateway/provider hostmap Сопоставляет внешние и внутренние имена узла, заменяя внутреннее имя узла сопоставленным внешним именем, когда имя узла включено в ответ из кластера
  authentication Интегрирует хранилище LDAP для аутентификации внешних запросов, обращающихся к кластеру через шлюз Knox
  federation Определяет поля аутентификации HTTP-заголовка для SSO и поставщика решений
  identity-assertion Отвечает за способ подтверждения идентификации подлинности пользователя в сервисе, для которого предназначается запрос. Также отображает внешних пользователей внутреннего кластера, прошедших проверку подлинности, которых шлюз утверждает как пользователей или группу текущей сессии
  authorization Авторизация на уровне сервиса, ограничивающая доступ к кластеру указанным пользователям, группам и/или IP-адресам
  webappspec Настраивает плагин безопасности веб-приложений, обеспечивающий защиту от межсайтовой подделки запроса
HA provider high availability Синхронизирует все инстансы Knox для использования одних и тех же хранилищ ключей учетных данных топологии
service $service_name Связывает сервис Hadoop с внутренним URL-адресом, используемым шлюзом для прокси-запросов от внешних клиентов к внутренним сервисам кластера

Дескрипторы топологии кластера имеют следующий формат XML:

<topology>
    <gateway>
        <provider>
            <role></role>
            <name></name>
            <enabled></enabled>
            <param>
                <name></name>
                <value></value>
            </param>
        </provider>
    </gateway>
    <service></service>
</topology>