Apache Ranger™ e Ranger KMS

Este manual é um guia de instalação do Apache Ranger™ e Ranger KMS.

Pré-requisitos

Instale os pré-requisitos para o procedimento de build do Ranger.

Maven

  1. Faça o download da última versão do Maven em Downloading Apache Maven ou:

    cd /usr/local
    wget https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz
    tar -xvf apache-maven-<Version>-bin.tar.gz
  2. Edite o arquivo que carrega as variáveis de ambiente do GHDP:

    vim /etc/profile.d/hadoop_setup.sh
    ...
    # MAVEN (to Ranger)
    export M2_VERSION=$(ls -A /usr/local/ | grep apache-maven- | grep -v .gz | awk -F '-' '{print $3}')
    export M2_HOME=/usr/local/apache-maven-$M2_VERSION
    export M2=$M2_HOME/bin
    ...
  3. Verifique se a instalação ocorreu corretamente:

    mvn -version

Outros requisitos

Instale os outros requisitos necessários:

Build do Ranger

  1. Baixe o source do Ranger mais atualizado que se adeque à versão do seu OS e Java, no site oficial do Ranger ou:

  2. Faça o build do Ranger utilizando o Maven:

  3. Caso ocorra erro de acesso inseguro, por conta de certificado vencido em algum link de repositório, execute o build da seguinte forma:

  4. Finalize o procedimento de build com o seguinte comando:

  5. Ao final, será gerada uma pasta chamada target com todos os componentes do Ranger.

Instalação do Solr

Consulte no Site Oficial do Solr qual a melhor versão do Solr para seu sistema.

  1. Acesse a pasta de build do Ranger, conforme efetuado no tópico anterior.

  2. Dentro dessa pasta, acesse a pasta do instalador do Solr, em que ele será pré-configurado para uso do Ranger:

  3. Crie a pasta do Solr conforme a versão escolhida:

  4. Edite o arquivo install.properties:

  5. Execute o script setup.sh e verifique os procedimentos de start conforme indicado pelo log de instalação:

  6. Inicie o Solr:

Instalação e configuração do Ranger Admin

  1. Crie a pasta do Ranger Admin:

  2. Acesse a pasta target, gerada no procedimento de build, e descompacte o arquivo ranger-2.3.0-admin.tar.gz:

  3. Copie todos os arquivos dentro da pasta descompactada para a pasta ranger-admin.

  4. No banco de dados, crie o usuário rangerdba da seguinte forma:

  5. Caso não esteja instalado, instale o mysql-connector-java e verifique se o arquivo mysql-connector-java.jar está na pasta correta:

  6. Crie a pasta de logs para o Ranger Admin:

  7. Na pasta do Ranger Admin, edit o arquivo install.properties:

  8. Execute o script de setup:

  9. Adicione permissões para as pastas do Ranger e logs e adicione o usuário ranger no grupo hadoop.

  10. Para inicializar o Ranger Admin utilize o comando:

  11. Acesse o link e digite o usuário admin e a senha pré-configurada.

Nesse contexto, a senha pré-configurada sempre será Griaule.123.

Instalação do Ranger UserSync

  1. Na pasta de build do Ranger, crie uma pasta para o Ranger UserSync chamada ranger-usersync, descompacte o arquivo tar.gz referente à aplicação e copie todos os arquivos para a pasta criada:

  2. Crie a pasta de logs e conceda acesso ao usuário ranger às pastas /usr/gdp/hadoop/ranger/ e /var/log/hadoop/ranger/:

  3. Na pasta ranger-usersync, edite o arquivo install.properties da seguinte forma:

  4. Altere o path padrão da aplicação de /etc/ranger para /usr/gdp/hadoop/ranger/2.3.0/ranger-usersync/ranger:

  5. Execute o script setup.sh:

  6. Altere a configuração para habilitar a sincronização do UserSync:

  7. Após a instalação com resultado successfully, inicialize o serviço utilizando o script ranger-usersync-services.sh:

Instalação de Plugins

Os plugins não são necessários para o funcionamento do Ranger KMS. São apenas recursos disponíveis para auditoria dos recursos do Hadoop.

HDFS Plugin

  1. Crie a pasta ranger-hdfs-plugin conforme a estrutura do GHDP:

  2. Na pasta de build do Ranger, descompacte o arquivo ranger-2.3.0-hdfs-plugin.tar.gz e copie todos os arquivos para a pasta criada anteriormente:

  3. Na pasta do plugin, edite o arquivo install.properties:

  4. Caso exista mais de um NameNode, crie a mesma estrutura de pastas e copie todo o conteúdo para os demais NameNodes com scp:

    Esse procedimento deve ser realizado antes da habilitação do plugin.

  5. Habilite o plugin executando o script enable-hdfs-plugin.sh:

  6. Conecte no Ranger Admin UI. Na tela principal, em HDFS, clique no botão + e preencha os campos com as seguintes informações:

    • Service Name: hadoopdev

    • Display Name: hadoopdev

    • Username: hadoop (Usuário UNIX)

    • Password: <senha criada para o usuário hadoop no UNIX>

    • NameNode URL: hdfs://localhost:50070

    • Authentication Type: Simple

  7. Mantenha o restante das configurações inalteradas e clique no botão Add.

  8. Reinicie o cluster.

HBase Plugin

  1. Crie a pasta ranger-hbase-plugin conforme a estrutura do GHDP.

  2. Na pasta de build do Ranger, descompacte o arquivo ranger-2.3.0-hbase-plugin.tar.gz e copie todos os arquivos para a pasta criada anteriormente:

  3. Na pasta do plugin, edite o arquivo install.properties:

  4. Crie a mesma estrutura de pastas e copie todo o conteúdo para o Master e Regional:

    Esse procedimento deve ser realizado antes da habilitação do plugin.

  5. Crie um usuário hbase e habilite o plugin executando o script enable-hbase-plugin.sh:

  6. Conecte no Ranger Admin UI. Na tela principal, em HDFS, clique no botão + e preencha os campos com as seguintes informações:

    • Service Name: hadoopdev

    • Display Name: hadoopdev

    • Username: hbase (Usuário UNIX)

    • Password: <senha criada para o usuário hbase no UNIX>

    • hadoop.security.authentication: Simple

    • hbase.security.authentication: Simple

    • hbase.zookeeper.property.clientPort: 2181

    • hbase.zookeeper.quorum: ,,

    • zookeeper.znode.parent: /hbase-unsecure

  7. Mantenha o restante das configurações inalteradas e clique no botão Add.

  8. Reinicie o cluster.

Kafka Plugin

  1. Crie a pasta ranger-kafka-plugin conforme a estrutura do GHDP:

  2. Na pasta de build do Ranger, descompacte o arquivo ranger-2.3.0-kafka-plugin.tar.gz e copie todos os arquivos para a pasta criada anteriormente:

  3. Na pasta do plugin, edite o arquivo install.properties:

  4. Crie a mesma estrutura de pastas e copie todo o conteúdo para os demais nodes:

    Esse procedimento deve ser realizado antes da habilitação do plugin.

  5. Crie um usuário kafka e habilite o plugin executando o script enable-kafka-plugin.sh:

  6. Conecte no Ranger Admin UI. Na tela principal, em HDFS, clique no botão + e preencha os campos com as seguintes informações:

    • Service Name: hadoopdev

    • Display Name: hadoopdev

    • Username: hbase (Usuário UNIX)

    • Password: <senha criado para o usuário hbase no UNIX>

    • hadoop.security.authentication: Simple

    • hbase.security.authentication: Simple

    • hbase.zookeeper.property.clientPort: 2181

    • hbase.zookeeper.quorum: ,,

    • zookeeper.znode.parent: /hbase-unsecure

  7. Mantenha o restante das configurações inalteradas e clique no botão Add.

  8. Reinicie o cluster.

Instalação e Configuração do Ranger KMS

Instalação do Ranger KMS

  1. Crie a pasta ranger-kms conforme a estrutura do GHDP:

  2. No servidor do MySQL, crie um usuário rangerkms para o gerenciamento da base feito pela a aplicação:

  3. Na pasta de build do Ranger, descompacte o Ranger KMS e copie todos os arquivos para a pasta criada anteriormente:

  4. Crie a pasta de logs para o Ranger KMS:

  5. Utilizando um gerador de senhas, crie uma senha com os seguintes parâmetros e guarde-a em um local confiável (ela será utilizada no passo seguinte):

    • 16 caracteres

    • Letras maiúsculas

    • Letras minúsculas

    • Caracteres especiais.

  6. Na pasta do Ranger KMS, edite o arquivo install.properties adicionando configuração para Java Key Store (arquiva a master key em um arquivo no próprio servidor):

    Utilize a senha de 16 caracteres gerada no passo anterior como KMS_MASTER_KEY_PASSWD. Por exemplo: $ZH1$Q8&ExUaTku8.

Configuração do Ranger KMS com Luna Cloud HSM

  1. Antes de efetuar o setup do Ranger KMS, é necessário adicionar o LunaProvider no arquivo java.security. Para isso, edite o arquivo java.security, que se encontra na pasta <JDK_installation_directory>/jre/lib/security, adicionando duas linhas no final: uma com o LunaProvider na sequência da lista de provedores, security.provider.10=com.safenetinc.luna.provider.LunaProvider, e uma com a configuração para que o Luna funcione, com.safenetinc.luna.provider.createExtractableKeys=true:

  2. Copie os arquivos LunaProvider.jar e libLunaAPI.so para a pasta <JDK_installation_directory/jre/lib/ext.

  3. Utilizando um gerador de senhas, crie uma senha com os seguintes parâmetros e guarde-a em um local confiável (ela será utilizada no passo seguinte):

    • 16 caracteres

    • Letras maiúsculas

    • Letras minúsculas

    • Caracteres especiais.

  4. Edite o arquivo install.properties para o setup do Ranger KMS com o Luna Cloud HSM:

    Utilize a senha de 16 caracteres gerada no passo anterior como KMS_MASTER_KEY_PASSWD. Por exemplo: $ZH1$Q8&ExUaTku8.

  5. Em todos o nodes, para que os datanodes acessem o KMS, edite o arquivo core-site.xml alterando o value da propriedade hadoop.security.key.provider.path para kms://http@localhost:9292/kms:

  6. Reinicie o HDFS.

  7. Conceda ao usuário kms as permissões para as pastas:

  8. Execute o script de setup, aguarde a finalização da instalação com a mensagem successfully e inicialize o Ranger KMS:

  9. Se tudo ocorreu com sucesso, será possível acessar o painel do Ranger KMS por meio do endereço do Ranger Admin utilizando o usuário keyadmin e a senha definida no procedimento de instalação do Ranger Admin.

    • Link: http://<my_ip>:6080/

    • User: keyadmin

    • Password: <definida no install.properties durante o setup do Ranger Admin>

  10. Entre no Ranger Admin UI com o usuário admin, acesse Settings > Users/Groups/Roles. Na aba Users, clique no botão Add New User e crie os usuários:

    • hive

    • hdfs

    • om

    • hbase

  11. Em seguida, faça logout e entre como keyadmin para acessar o painel do Ranger KMS UI no Service KMS. Clique no botão + para criar o repositório kmsdev, conforme as especificações abaixo:

    • Service Name: kmsdev

    • KMS URL: kms://http@:9292/kms

    • Username: keyadmin

    • Password: <senha definida no procedimento de instalação do Ranger Admin>

  12. Na mesma tela, em Audit Filter, clique no botão + para adicionar uma ACL com as seguintes especificações:

    • Access Result: ALLOWED

    • Permissions: Select All

    • Users: keyadmin

  13. Clique em Add. Em seguida, clique para editar o repositório kmsdev e clique no botão Test Connection, para confirmar se todo o procedimento ocorreu corretamente.

  14. Reinicie o Ranger KMS:

  15. Caso esteja utilizando o Luna Cloud HSM, verifique se houve a criação da master key. Para isso, execute o lunacm:

    Ou:

  16. Faça login com o role crypto officer:

  17. Liste o conteúdo da partição para verificar se a master key foi criada com sucesso:

    Exemplo de saída com a master key criada:

Ativar Load Balancer no Ranger KMS

  1. Em um segundo servidor, realize todo o procedimento de instalação do Ranger KMS.

  1. No passo 5 da configuração, em que é preciso alterar o arquivo core-site.xml para que os datanodes acessem o KMS, prossiga da seguinte forma: abra o arquivo, encontre a propriedade hadoop.security.key.provider.path e altere seu value de kms://http@localhost:9292/kms para kms://http@host1;host2:9292/kms:

    Antes:

    Depois:

  2. Reinicie o HDFS:

  3. Siga com a finalização do procedimento de configuração do Ranger KMS, a partir do passo 6.

Desinstalação do Ranger

Para desinstalar o Ranger, execute os seguintes comandos:

Atualizado

Isto foi útil?