GrantForge

    Плагины

    Apache Hadoop HDFS

    Установка и настройка плагина HDFS, просмотр каталогов и управление политиками доступа к путям.

    Плагин Apache Hadoop HDFS обеспечивает подключение к кластерам, поиск путей и управление политиками в GrantForge. Идентификатор плагина и тип сервиса — hdfs.

    Установка

    Дистрибутив содержит плагин в plugins/hdfs. В разделе Управление платформой → Плагины убедитесь, что hdfs включён; после обновления повторно просканируйте каталог плагинов.

    Добавление сервиса данных

    1. Откройте Права на данные → Сервисы данных, добавьте сервис и выберите HDFS (hdfs).
    2. Укажите URI кластера и пользователя поиска. Hadoop 2.x использует webhdfs://namenode:50070; 3.x допускает hdfs://namenode:8020 или webhdfs://namenode:9870. Для HTTPS используйте swebhdfs:// с фактическим портом кластера.
    3. Задайте каталог поиска и проверьте подключение: каталог должен существовать и допускать перечисление содержимого. Затем сохраните сервис.
    Настройка Назначение
    fs.default.name Обязательный URI кластера без подкаталога, учётных данных и параметров; для HA подходит hdfs://nameservice1 с соответствующими дополнительными свойствами
    username Обязательный пользователь поиска; для Kerberos — principal, например grantforge@EXAMPLE.COM
    hadoop.security.authentication По умолчанию simple; для Kerberos-кластера выберите kerberos
    hadoop.security.authorization Проверяет ли Hadoop права, по умолчанию false; согласно core-site.xml кластера
    hadoop.security.auth_to_local Правила сопоставления principals Kerberos именам пользователей, согласно core-site.xml кластера
    password / keytab Пароль Kerberos или путь к файлу keytab на сервере GrantForge
    kerberos.kdc KDC realm, к которому относится principal для поиска, host[:port] через запятую; пусто — используется krb5.conf сервера
    dfs.namenode.kerberos.principal, dfs.datanode.kerberos.principal, dfs.secondary.namenode.kerberos.principal Principals компонентов кластера при Kerberos, например nn/_HOST@EXAMPLE.COM, согласно конфигурации кластера
    lookup.path Начальный каталог поиска и просмотра, по умолчанию /, например /data; просмотр ограничен этим каталогом
    lookup.max.entries Предел полного сканирования каталога, по умолчанию 10000, диапазон 1..100000
    hadoop.config По одному key=value в строке для HA и других свойств Hadoop; переопределяет одноимённые настройки подключения
    hadoop.rpc.protection authentication, integrity или privacy, в соответствии с кластером
    ssl.client.truststore.location Путь на сервере GrantForge к хранилищу доверенных сертификатов для проверки NameNode swebhdfs://; пусто — доверять тому, чему доверяет Java на сервере
    ssl.client.truststore.password Пароль хранилища, если оно защищено; хранится в зашифрованном виде
    ssl.client.truststore.type jks (по умолчанию) или pkcs12

    При включённом расширении атрибутов NameNode в Hadoop 2.7.7 запросы обычных пользователей к корневому пути / вызывают подтверждённую ошибку upstream NullPointerException; задайте в lookup.path существующий каталог, например /data (см. руководство агента).

    Kerberos также требует доступного KDC, серверного krb5.conf, согласованных правил hadoop.security.auth_to_local и principals сервисов. Учётная запись поиска получает метаданные каталогов. Проверено на кластерах Kerberos всех шести линий: поиск через swebhdfs (собственное хранилище доверенных сертификатов сервиса и SPNEGO) на каждой линии, а на 3.x также поиск и просмотр путей через RPC (keytab или пароль); неверные учётные данные, отсутствие хранилища и простой клиент приводят к ошибке, а к учётной записи поиска применяются собственные права NameNode.

    С Kerberos GrantForge повторно использует вход между запросами, не обращаясь к KDC каждый раз: вход по keytab Hadoop продлевает, когда срок билета подходит к концу, а вход по паролю повторяется, когда остаётся меньше пятой части срока билета (и не меньше минуты); смена пароля или обновление файла keytab приводит к новому входу. У каждого сервиса своё хранилище доверенных сертификатов, которое ssl-client.xml в classpath сервера не заменяет.

    Один GrantForge может работать с кластерами нескольких realm Kerberos: укажите в kerberos.kdc каждого сервиса KDC его realm; realm берётся из principal в username, например grantforge@BETA.EXAMPLE. GrantForge записывает конфигурацию, которая подключает собственный krb5.conf сервера и добавляет realm сервисов; она действует со следующего входа, без перезапуска. Если hadoop.security.auth_to_local пуст, для principal этого realm создаются правила коротких имён. Параметр нельзя использовать, пока сервер задаёт java.security.krb5.realm и .kdc. Если два сервиса указывают разные KDC для одного realm, действует последний запрос, поэтому держите их одинаковыми; доверие между realm по-прежнему настраивается в krb5.conf сервера.

    В одном GrantForge проверки подключения, поиск и просмотр путей сервисов HDFS выполняются по одному, а не параллельно: Hadoop хранит тип аутентификации, auth_to_local и состояние входа Kerberos на уровне всего процесса, поэтому одновременные вызовы перезаписывали бы друг друга. Каждый вызов ограничен параметром grantforge.plugins.call-timeout (по умолчанию 10 секунд), включая время ожидания своей очереди; увеличьте его, если сервисов много, кластеры отвечают медленно или первый вход Kerberos долгий.

    Конфигурация проверяется при сохранении: в hadoop.config fs.defaultFS и fs.default.name являются псевдонимами, поэтому задавайте только один из них; URI кластера не должен содержать учётных данных, пути, запроса или фрагмента; kerberos требует password или keytab; lookup.path должен быть абсолютным путём без ..; lookup.max.entries должен быть в диапазоне от 1 до 100000. Дополнительные свойства переопределяют одноимённые настройки подключения, и проверка, и вход в систему используют переопределённые значения.

    Просмотр путей

    Выберите сервис в разделе Права на данные → Политики и нажмите Обзор рядом с path.

    • Открывайте каталоги, переходите по пути или к родительскому каталогу и загружайте следующие страницы по мере необходимости.
    • Просматривайте тип файла/каталога, владельца, группу, права, размер файла и время изменения.
    • Выберите несколько файлов или каталогов либо текущий каталог и добавьте их в политику; ввод пути по-прежнему предлагает варианты.

    RPC и WebHDFS с пакетным перечислением используют нативную пагинацию. Старые endpoints читают каталоги в пределах лимита сканирования и сообщают об ошибке при его превышении. Ошибки прав, аутентификации и подключения показывают причину и позволяют повторить запрос.

    При вводе можно опустить начальную /, повторяющиеся / и . разрешены, а .. и абсолютные пути вне lookup.path отклоняются; несуществующий каталог не возвращает кандидатов. Просмотр не заменяет собственный контроль доступа HDFS; символические ссылки и монтирования ViewFS по-прежнему следуют конфигурации кластера.

    Применение политик

    Единственный уровень ресурса — path, типы доступа — read, write и execute. Политики путей поддерживают рекурсию и исключения.

    Серверный плагин управляет ресурсами и выполняет поиск. Для применения политик нужен также агент NameNode для соответствующей версии Hadoop; пользователь должен удовлетворять нативным правам HDFS и политикам GrantForge. Нумерованные агенты охватывают 2.7, 2.10, 3.2, 3.3, 3.4 и 3.5. Проверенные сочетания, покрытие аутентификации и HA и ограничения суперпользователя описаны в руководстве агента.

    Связанные руководства

    Редактировать эту страницу на GitHub