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

Измените существующий 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, но никакого эффекта. Любое предложение?

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

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

вещи, которые вы можете проверить:

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