Usar o Ranger com armazenamento em cache e redução de escopo

Ativar o armazenamento em cache

Esta seção lista as etapas para ativar o cache com o Ranger para reduzir as ida e volta do sistema de gerenciamento de chaves (KMS, na sigla em inglês) do Ranger para criptografar e descriptografar tokens.

  1. Instale o memcached em VMs do cluster do Dataproc. Por padrão, o servidor Memcached é iniciado na porta 11211 (localhost:11211) da VM.

    sudo apt-get install -y memcached
    

  2. Defina as seguintes propriedades no arquivo de configuração do /etc/dataproc-ranger-gcs-plugin/conf/ranger-gcs-site.xml Ranger nas VMs do cluster do Dataproc.

    <property>
    <name>authorization.service.remoteCaching.address</name>
    <value>localhost:11211</value>
    </property>
    <property> <name>authorization.service.remoteCaching.class</name> <value>com.google.cloud.hadoop.ranger.gcs.authorization.caching.MemcachedCache</value> </property>
    <property> <name>authorization.service.remoteCaching.encryption.key.uri</name> <value>gcp-kms://projects/PROJECT_ID_OF_KMS_KEY/locations/REGION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME</value> </property>

  3. Reinicie o serviço de autorização.

    sudo systemctl restart ranger-gcs-plugin-authorization-server 
    

Conferir o status do cache

Use telnet para conferir o status do cache do Ranger.

  1. Instale telnet.

    sudo apt-get install -y telnet 
    

  2. Use o telnet para se conectar a memcache na porta 11211 da VM.

    sudo telnet 127.0.0.1 11211
    

  3. Use os comandos telnet para conferir o status do cache, incluindo os seguintes comandos:

    • stats items: lista o status dos itens de cache. Exemplo de resposta:
      STAT items:17:number 2
      STAT items:17:number_hot 0
      STAT items:17:number_warm 0
      STAT items:17:number_cold 2
      
    • stats cachedump: lista as chaves armazenadas no cache. Exemplo de resposta:
      stats cachedump 17 2
      ITEM 0616eeeeb54e23a09505da5bf75cd7fafe733eacf0d07bd7b1ac9cf46d17c188 [3051 b; 1707948281 s]
      ITEM d23645df9c79290d59ddb1b9710ff04fee37aa0b5de866b9b6d56b54641d68b4 [3078 b; 1707948281 s]
      
    • flush_all: invalida itens de cache.

Tokens de acesso do Cloud Storage com escopo reduzido

Talvez seja necessário reduzir o escopo dos tokens de acesso do Ranger para mover para cima (upscope) os caminhos do Cloud Storage para os quais uma tabela externa do Hive aponta.

Para mover todas as partições e subpartições até o nível da tabela, defina a propriedade downscope.table.partition-name.pruning.enabled como true no arquivo de configuração ranger-gcs-site.xml nas VMs do cluster do Dataproc.

<property>
  <name>downscope.table.partition-name.pruning.enabled</name>
  <value>true</value>
</property>

Exemplo:

  • Nome do bucket do Cloud Storage: gs://warehouse
  • Caminho do token de acesso original: warehouse/hive/table/type=debit/year=2017/month=Aug/day=01/
  • Depois de definir downscope.table.partition-name.pruning.enabled como true, o caminho do token de acesso com escopo foi aumentado: warehouse/hive/table/