Установка прав доступа для cloudera hadoop
Я установил coudera hadoop 4 на кластер из примерно 20 узлов. Используя cloudera manager, он прошел очень гладко и все, но когда я хочу создать каталог ввода с помощью hadoop fs -mkdir input
, я получаю следующую ошибку: mkdir: Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x
Похоже на классический неправильный случай разрешений, но я не знаю, с чего начать исправить это,
Я нашел этот документ, который, я думаю, разрешил бы мою проблему, если бы я знал, что с этим делать. Для начала я не знаю, использую ли я MapReduce v1 из v2 (я не вижу ни одной услуги пряжи в моем менеджере cloudera, поэтому я предполагаю, что это будет v1 (?)). Во-вторых, поскольку вся установка была автоматической, я не знаю, что установлено и где.
Может ли кто-нибудь указать мне на некоторые легкие шаги для решения моей проблемы? Я действительно ищу простейшее решение здесь, меня не интересует безопасность, так как это всего лишь тест. Если бы я мог предоставить всем пользователям все возможные разрешения, это было бы хорошо.
Ответы
Ответ 1
Я решил свою проблему: в диспетчере cloudera перейдите в hdfs-конфигурацию в расширенном режиме и поместите следующий код в конфигурацию безопасности HDFS Safety Valve:
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
Ответ 2
Изменение dfs.permission
всегда является решением, но вы также можете попробовать изменить пользователя. В моей системе разрешение на запись назначается только пользователю hdfs. Пользователь может быть изменен с помощью следующей команды:
su hdfs
Ответ 3
hdfs1 → Конфигурация → Просмотр и редактирование → Снимите флажок "Проверить передачу HDFS", это сработало благодаря Shehaz
Ответ 4
1. Не изменять dfs.permissions.Keep его значение как true.
2.Добавьте группы для определенного пользователя, если потребуется. (необязательно)
Групповая разработка
производство groupadd
echo "Создание и развитие группы создаются".
создать пользователя с существующими группами и назначить каталог hdfs для использования
useradd -g разработка clouddev3
sudo -u hdfs hadoop fs -mkdir -p/user/clouddev3
sudo -u hdfs hadoop fs -chown -R clouddev3: разработка/пользователь/clouddev3
echo "Пользователь clouddev3 создал и владеет /user/clouddev 3 directory в hdfs"
Теперь войдите в систему с пользователем clouddev3 и попробуйте,
hdfs dfs -ls/user/clouddev3
или hdfs dfs -ls