Измените существующий 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, но безрезультатно. Любое предложение?
2 ответа
Вы должны убедиться, что используете пользователя LDAP. Проверить с id
если вы на самом деле пользователь LDAP, а не локальный пользователь при записи файла.
По тому, как вы пишете, я беру, вы пытаетесь писать с другого сервера. Если да, то этот аппарат также использует LDAP или вы используете локальную учетную запись? потому что этот пользователь будет использовать свой UID при записи файла.
вещи, которые вы можете проверить:
/etc/nsswitch.conf
для порядка, в котором машина использует файлы или ldap для получения информации об учетной записиgetent passwd
проверить, знает ли он даже пользователя ldap- Мой личный опыт заключается в том, чтобы избежать использования пользователя ldap и локального пользователя с одним и тем же именем. Это вызывает всевозможные проблемы с UID / домашними каталогами и т. Д. Поэтому, если в ldap есть локальные пользователи с одинаковыми именами, вы можете удалить их с локального компьютера. При переносе сервера на аутентификацию LDAP я всегда удаляю локальных пользователей.
Отключите тот, который вы смонтировали на своем компьютере локально, и перезапустите службу HDFS.
Начните монтировать ndfs в локальную файловую систему, чтобы иметь локальный доступ к файлам в hdfs.