У меня есть кластер из трех узлов, на котором установлены 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?