2017-02-21 22 views
0

Я новичок в Hadoop, и я столкнулся с проблемой, я не уверен, как ее решить.Изменить разрешения для существующего пользователя в hdfs на linux

У меня есть два существующих пользователя HDFS: один называется hdfs, а один называется user1. Когда я пишу файл в HDFS как user1, оба пользователя могут видеть и удалять файлы. Однако, если я добавлю файл как пользовательский hdfs, user1 выдает ошибку, не найденную файлом, когда я пытаюсь ее использовать. Почему один пользователь может редактировать файл, а другой - нет? Есть ли что-нибудь, что я могу сделать, чтобы позволить user1 также редактировать файл?

Вот разрешение для пользователей:

hdfs = drwxr-xr-x 
user1 = drwxrwxr-x 

Я бег HDFS как часть OpenJDK 1,8 на CentOS 6.6

ответ

1

Пользователь hdfs является суперпользователем, поэтому всякий раз, когда вы копируете файл как hdfs, другие виды использования не видны. если вы хотите увидеть те файлы, вы должны выполнить команду, как, как показано ниже

sudo -u hdfs hdfs dfs -cat /path/

user1 является обычным пользователем, поэтому всякий раз, когда вы копируете файл как user1, HDFS пользователь может иметь доступ к этим файлам

да, есть команда, как показано ниже, чтобы изменить группы, пользователь, владелец и т.д.

hdfs dfs chgrp 
hdfs dfs chmod 
hdfs dfs chown 
1

HDFS является super-user, который не ограничен проверками прав доступа и может особенно доступа к файлам других пользователей, как user1

chmod может быть сделано следующим образом: hdfs dfs -chmod XXX /dir

1

HDFS является супер-пользователем вот так он имеет доступ ко всем файлам, но если вы хотите, чтобы увидеть файл, который имеет пользователь и группу s hdfs через user1, то вы не сможете видеть напрямую.

Во-первых, вам нужно изменить пользователя и группу этого файла, и только вы сможете увидеть этот файл.

Для изменения владельца и группы этого файла используйте следующие команды: -

Hadoop фс -chown [-R] [OWNER] [: [GROUP]] URI [URI]