Я пытаюсь узнать "Как можно реализовать Kerberos в Hadoop?" Я просмотрел этот документ https://issues.apache.org/jira/browse/HADOOP-4487 Я также изучил основные материалы Kerberos ( https://www.youtube.com/watch?v=KD2Q-2ToloE)
Изучив эти ресурсы, я пришел к выводу, который представляю на диаграмме. Сценарий: - Пользователь входит в систему на своем компьютере, проходит проверку подлинности Kerberos и отправляет задание на уменьшение карты (пожалуйста, прочитайте описание схемы, вряд ли вам потребуется 5 минут вашего времени). Я хотел бы объяснить схему и задать вопросы, связанные с несколькими шаги (выделено жирным шрифтом) Цифры на желтом фоне представляют весь поток (номера от 1 до 19) DT (на красном фоне) представляет маркер делегирования BAT (на зеленом фоне) представляет маркер доступа к блоку JT (на коричневом фоне) ) представляет токен задания
Шаги 1, 2, 3 и 4 представляют: - Запрос TGT (билет на предоставление билетов) Запрос на сервисный билет для узла имени. Вопрос1) Где должен быть расположен KDC? Может ли это быть на машине, где присутствует мой узел имени или средство отслеживания заданий?
Шаги 5, 6, 7, 8 и 9 представляют собой: - Показать сервисный билет для узла имени, получить подтверждение. Узел имени выдаст токен делегирования (красный) пользователь расскажет о обновлении токена (в данном случае это Job Tracker)
Вопрос2) Пользователь отправляет этот токен делегирования вместе с заданием в систему отслеживания вакансий. Будет ли токен делегирования использоваться совместно с системой отслеживания задач?
Шаги 10, 11, 12, 13 и 14 представляют собой: - Запросите служебный билет для Job tracker, получите служебный билет от KDC. Покажите этот билет в Job Tracker и получите ACK от JobTracker. Отправьте задание + токен делегирования в JobTracker.
Шаги 15, 16 и 17 представляют собой: - Создание токена доступа к блоку и его распространение по всем узлам данных. Отправьте blockID и токен блокировки доступа в Job Tracker, и Job Tracker передаст их в TaskTracker.
Вопрос 3) Кто будет запрашивать BlockAccessToken и Block ID у узла Name? JobTracker или TaskTracker
Извините, я пропустил номер 18 по ошибке. Шаг 19 представляет: - Средство отслеживания заданий создает маркер задания (коричневый) и передает его средствам отслеживания задач.
Вопрос4) Могу ли я сделать вывод, что для каждого пользователя будет один токен делегирования, который будет распределен по всему кластеру, и будет один токен задания для каждого задания? Таким образом, у пользователя будет только один токен делегирования и много токенов задания (равное количеству отправленных им заданий).
Пожалуйста, сообщите мне, если я что-то упустил или ошибся в своем объяснении.