Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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