Измените существующий uid пользователя Linux в LDAP, но hdfs, похоже, его не распознает

Измените существующий uid пользователя Linux в LDAP, но hdfs, похоже, его не распознает

Я настроил среду hadoop 1.2.1 на centos 6. Я также использую nfs-proxy, который монтирует ndfs в локальную файловую систему, чтобы я мог получить доступ к файлам внутри hdfs локально. Все работало отлично, пока сегодня меня не попросили интегрировать аутентификацию пользователей с LDAP. По какой-то причине мне приходится менять uid некоторых существующих пользователей unix и сохранять эти новые uid в LDAP.

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

Я сделал тестовый перезапуск hadoop, но эффекта нет. Есть предложения?

решение1

вы должны убедиться, что используете пользователя LDAP. Проверьте, idявляетесь ли вы на самом деле пользователем LDAP, а не локальным пользователем при записи файла.

Кстати, вы пишете, что я беру, вы пытаетесь писать с другого сервера. Если так, то эта машина также использует LDAP или вы используете локальную учетную запись? потому что этот пользователь будет использовать свой собственный uid при записи файла.

Что вы можете проверить:

  • /etc/nsswitch.confдля порядка, в котором машина использует файлы или ldap для получения информации об учетной записи
  • getent passwdчтобы проверить, знает ли он вообще пользователя ldap
  • Мой личный опыт подсказывает, что следует избегать наличия пользователя ldap и локального пользователя с одинаковым именем. Это приводит к всевозможным неловким проблемам с UID / домашними каталогами / и т. д. Поэтому, если у вас есть локальные пользователи с одинаковым именем пользователя в ldap, вы можете рассмотреть возможность их удаления с локальной машины. Когда я перевожу сервер на аутентификацию LDAP, я всегда удаляю локальных пользователей.

решение2

Размонтируйте тот, который вы смонтировали на своей машине локально и перезапустите службу HDFS.
Начните монтировать ndfs в локальную файловую систему, чтобы иметь локальный доступ к файлам в hdfs.

Связанный контент