Настройка разрешений в Cloudera Hadoop 4 (CDH4)
Я хотел бы настроить разрешения HDFS в CDH4 со следующими требованиями:
- Каждый может прочитать все из всех каталогов HDFS
- Каждый пользователь может писать только в свой каталог пользователя на HDFS
- За исключением специального пользователя, который может писать везде
Это упрощенная версия требований, но это хорошее начало.
Вопрос - как мне это настроить? Нужно ли настраивать Kerberos? В руководстве по безопасности Cloudera обсуждается только Kerberos, но я не думаю, что на этом этапе мне нужна строгая схема аутентификации.
Было бы полезно пошаговое руководство, поскольку я новичок в Hadoop.
1 ответ
Решение
Если вы работаете в режиме без Kerberos, dfs.permissions в основном рекомендуется. Разрешения будут применяться наменодом, если кто-то не догадывается, что он может подделать свое имя пользователя и стать кем-то другим (включая суперпользователя, такого как hdfs). Если вы круты с этим, то вам не нужно настраивать Kerberos.
- Задайте разрешения по умолчанию для файлов и каталогов: fs.permissions.umask-mode = 0022. Это должно привести к тому, что все вновь созданные файлы будут настроены с правами доступа для чтения.
- Установите права по умолчанию для / user /username равными 755.
- Создайте новую группу Unix под названием "hadoop". Добавьте к этому своего пользователя. В вашем hdfs-site.xml установите для dfs.permissions.supergroup значение hadoop. Убедитесь, что ваш пользователь hdfs является частью этой группы Unix. Любой пользователь в группе hadoop теперь может писать в любой файл, потому что он считается суперпользователем.