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 viagens de ida e volta do sistema de gerenciamento de chaves (KMS) 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 /etc/dataproc-ranger-gcs-plugin/conf/ranger-gcs-site.xml Arquivo de configuração do Ranger em VMs de 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 
    

Ver status do cache

Você pode usar telnet para conferir o Ranger o status do cache.

  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 em 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 diminuir o escopo dos tokens de acesso Ranger para aumentar (aumentar o escopo) Os caminhos do Cloud Storage para os quais uma tabela Hive externa 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/