Настройка разрешений в Cloudera Hadoop 4 (CDH4)

Я хотел бы настроить разрешения HDFS в CDH4 со следующими требованиями:

  1. Каждый может прочитать все из всех каталогов HDFS
  2. Каждый пользователь может писать только в свой каталог пользователя на HDFS
  3. За исключением специального пользователя, который может писать везде

Это упрощенная версия требований, но это хорошее начало.

Вопрос - как мне это настроить? Нужно ли настраивать Kerberos? В руководстве по безопасности Cloudera обсуждается только Kerberos, но я не думаю, что на этом этапе мне нужна строгая схема аутентификации.

Было бы полезно пошаговое руководство, поскольку я новичок в Hadoop.

1 ответ

Решение

Если вы работаете в режиме без Kerberos, dfs.permissions в основном рекомендуется. Разрешения будут применяться наменодом, если кто-то не догадывается, что он может подделать свое имя пользователя и стать кем-то другим (включая суперпользователя, такого как hdfs). Если вы круты с этим, то вам не нужно настраивать Kerberos.

  1. Задайте разрешения по умолчанию для файлов и каталогов: fs.permissions.umask-mode = 0022. Это должно привести к тому, что все вновь созданные файлы будут настроены с правами доступа для чтения.
  2. Установите права по умолчанию для / user /username равными 755.
  3. Создайте новую группу Unix под названием "hadoop". Добавьте к этому своего пользователя. В вашем hdfs-site.xml установите для dfs.permissions.supergroup значение hadoop. Убедитесь, что ваш пользователь hdfs является частью этой группы Unix. Любой пользователь в группе hadoop теперь может писать в любой файл, потому что он считается суперпользователем.
Другие вопросы по тегам