O Kerberos é um protocolo de autenticação que usa criptografia de chave simétrica para verificar identidades em outros serviços. Este tópico descreve como acessar um cliente Hive com a autenticação Kerberos ativada.
Pré-requisitos
Crie um cluster e ative o botão Kerberos Authentication na seção Advanced Settings da página Software Configuration. Para mais informações, consulte Criar um cluster.
Procedimento
Acesse o cluster por SSH. Para mais informações, consulte Fazer login em um cluster.
-
Execute o comando a seguir para iniciar a ferramenta admin.local do Kerberos.
-
Se você acessou o nó master-1-1, onde o servidor Kerberos Key Distribution Center (KDC) roda como usuário
root, execute este comando para acessar diretamente a ferramenta de administração:kadmin.localA saída a seguir indica que você entrou na interface de linha de comando
kadmin.local:Authenticating as principal hadoop/admin@EMR.C-85D4B8D74296****.COM with password. kadmin.local: -
Se o acesso ocorrer por outro nó ou via gateway, execute este comando para entrar na ferramenta de administração:
kadmin -p <admin-user> -w <admin-password>NotaAo usar o KDC fornecido pelo E-MapReduce, observe os seguintes parâmetros:
<admin-user>: O valor é fixo comoroot/admin.<admin-password>: No console do E-MapReduce, acesse a aba Configure do serviço Kerberos para obter o valor do parâmetro admin_pwd.
A saída a seguir indica que você entrou na interface de linha de comando
kadmin:Authenticating as principal root/admin with password. kadmin:
-
-
Execute o comando a seguir para criar um principal chamado
test.Neste exemplo, a senha é
123456.addprinc -pw 123456 testA saída a seguir indica que o principal foi criado com sucesso:
Principal "test@EMR.C-85D4B8D74296****.COM" created.NotaAnote o nome de usuário e a senha. Você precisará dessas credenciais para criar um ticket-granting ticket (TGT).
Execute o comando
quitpara sair da ferramenta admin.local do Kerberos. -
Acesse a máquina onde você executará o cliente Hive e execute os comandos a seguir para criar e alternar para o usuário
test.useradd test su test -
Execute o comando a seguir para criar um TGT.
kinitPressione Enter e insira a senha do usuário
test. Neste exemplo, a senha é123456. -
Conecte-se ao cliente Hive.
-
Método 1: Execute o comando
hivepara acessar o cliente Hive.hive -
Método 2: Use o Beeline para acessar o cliente Hive.
beeline -u "jdbc:hive2://master-1-1.c-56187feb57f0****.cn-hangzhou.emr.aliyuncs.com:10000/;principal=hive/_HOST@EMR.c-56187feb57f0****.COM"Substitua os placeholders pelas suas informações:
master-1-1.c-56187feb57f0****.cn-hangzhou.emr.aliyuncs.com: Nome de host totalmente qualificado, incluindo o domínio. Obtenha o nome de host executando o comandohostname -fno nó onde o serviço HiveServer2 roda (geralmente o nó master-1-1).EMR.c-56187feb57f0****.COM: Nome do realm. No console do E-MapReduce, acesse a aba Configure do serviço Kerberos para localizar o valor do parâmetrorealm.
-
Documentos relacionados
Para mais informações sobre a criação de principals, consulte Database administration.
Para mais informações sobre a criação de TGTs, consulte Kinit.