У меня есть несколько сотен ГБ в моем hdfs для userA (конфигурация с одним узлом). Я хотел бы передать все эти данные пользователю B, который будет более подходящим для настраиваемой мной конфигурации с несколькими узлами.
Я безуспешно пробовал следующее:
hadoop fs -chown -R userB:hadoop PATH
, при входе в систему как userB я не вижу данные, нормально с userA, хотя userB установлен как владелец hdfs.start-all.sh
как userB, необходимо изменить некоторые элементы управления доступом к этому. То же самое я ничего не вижу. <name>hadoop.tmp.dir</name>
на userA hadoop-userA
dir в hadoop-userB
drwxr-xr-x - userB hadoop 0 2011-05-29 18:17 /user/userA/tmp
Похоже, что данные по-прежнему принадлежат пользователю A. Есть идеи, как это исправить?
ДОБАВЛЕНИЕ userB входит в группу hadoop (разумеется).
Чтобы он заработал, нужно сделать следующее:
hadoop fs -chown userB:hadoop
Данные останутся в / user / userA /, поэтому вам нужно запросить, используя абсолютный путь
hadoop fs -ls /user/userA/<path>
Использование относительного пути укажет вам в другом месте
hadoop fs -ls
Попробуйте установить разрешения на чтение:
hadoop fs -chmod -R 644 PATH
Вы должны скопировать данные на свой локальный диск, а затем повторно загрузить их другим пользователем.