Рейнджер и Керберос - PullRequest
       9

Рейнджер и Керберос

0 голосов
/ 08 ноября 2018

У меня есть кластер из трех узлов, на котором установлены Kerberos и Ranger.

Я просто немного запутался в отношении одного варианта использования, который я использую как обычный пользователь (Том). У меня есть файлы hdfs.headless.keytab и hbase.headless.keytab в моем / home / tom, поэтому я могу использовать

[tom@master keytabs]$ ls /home/tom -l
total 8
-r--r----- 1 tom tom 373 Oct 26 02:32 hbase.headless.keytab
-r--r----- 1 tom tom 368 Nov  8 18:59 hdfs.headless.keytab

Так что, если я хочу записать в HDFS, я всегда могу запустить билет Kerberos с помощью указанных выше файлов:

[tom@master root]$ klist
klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_500)
[tom@master keytabs]$ kinit -kt /home/tom/hdfs.headless.keytab hdfs-bazargani_lab@BAZARGANI.COM
[tom@master keytabs]$ klist
Ticket cache: FILE:/tmp/krb5cc_500
Default principal: hdfs-bazargani_lab@BAZARGANI.COM

Valid starting     Expires            Service principal
11/08/18 19:12:10  11/09/18 19:12:10  krbtgt/BAZARGANI.COM@BAZARGANI.COM
        renew until 11/08/18 19:12:10

Теперь я хочу активировать тикет для HBase:

[tom@master keytabs]$ kinit -kt /home/tom/hbase.headless.keytab hbase-bazargani_lab@BAZARGANI.COM
[tom@master keytabs]$ klist
Ticket cache: FILE:/tmp/krb5cc_500
Default principal: hbase-bazargani_lab@BAZARGANI.COM

Valid starting     Expires            Service principal
11/08/18 19:30:01  11/09/18 19:30:01  krbtgt/BAZARGANI.COM@BAZARGANI.COM
        renew until 11/08/18 19:30:01

Теперь, когда я запускаю команды ниже (запись в HDFS), я получаю:

[tom@master keytabs]$ hdfs dfs -mkdir /tom
mkdir: Permission denied: user=hbase, access=WRITE, inode="/tom":hdfs:hdfs:drwxr-xr-x

Я не уверен, почему я не могу выполнить вышеизложенное, в то время как я инициализировал билет для HDFS до HBase, а также для Тома, когда я пишу в HDFS, он теперь считает его пользователем HBase и не позволяет мне писать в HDFS .. Я не могу su в hdfs, потому что я не знаю пароля .. Может кто-нибудь объяснить, как я могу настроить принципала с именем tom, который может выполнять как действия HBase, так и HDFS?

1 Ответ

0 голосов
/ 08 ноября 2018

AFAIK, лучший способ сделать это - создать ключевую вкладку с именем "tom.headless.keytab" и главную "tom @ bozxxx" Я предполагаю, что пользователь Tom уже доступен в Ranger, если вы не можете синхронизировать пользователя (в зависимости от того, как настроен Ranger, настроен ли он для чтения из файла или для чтения от пользователя Unix или из Ldap), или ярлык просто создать Пользователь "Том" из Ranger UI. Как только пользователь будет зарегистрирован, предоставьте доступ к пользователю на HDFS и HBASE. затем выполните Kinit, затем вы можете запустить свою команду

...