Utilizzare Ranger con memorizzazione nella cache e downgrade

Abilita memorizzazione nella cache

In questa sezione sono elencati i passaggi per abilitare la memorizzazione nella cache con Ranger in modo da ridurre i round trip del Ranger Key Management System (KMS) per criptare e decriptare i token.

  1. Installare memcached sulle VM dei cluster Dataproc. Per impostazione predefinita, il server memcached viene avviato sulla porta della VM 11211 (localhost:11211).

    sudo apt-get install -y memcached
    

  2. Imposta le seguenti proprietà nel file di configurazione /etc/dataproc-ranger-gcs-plugin/conf/ranger-gcs-site.xml Ranger sulle VM del cluster 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. Riavvia il servizio di autorizzazione.

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

Visualizza lo stato della cache

Puoi usare telnet per visualizzare lo stato della cache dei ranger.

  1. Installa telnet.

    sudo apt-get install -y telnet
    

  2. Utilizza Telnet per connetterti a memcache sulla porta VM 11211.

    sudo telnet 127.0.0.1 11211
    

  3. Utilizza i comandi telnet per visualizzare lo stato della cache, inclusi i comandi seguenti:

    • stats items: elenca lo stato degli elementi della cache. Esempio di output:
      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: elenca le chiavi memorizzate nella cache. Esempio di output:
      stats cachedump 17 2
      ITEM 0616eeeeb54e23a09505da5bf75cd7fafe733eacf0d07bd7b1ac9cf46d17c188 [3051 b; 1707948281 s]
      ITEM d23645df9c79290d59ddb1b9710ff04fee37aa0b5de866b9b6d56b54641d68b4 [3078 b; 1707948281 s]
      
    • flush_all: invalida gli elementi della cache.

Token di accesso a Cloud Storage di Downscope

Potresti dover eseguire il downgrade dei token di accesso di Ranger per spostare verso l'alto (upscope) i percorsi di Cloud Storage a cui punta una tabella Hive esterna.

Per spostare tutte le partizioni e le sottopartizioni a livello di tabella, imposta la proprietà downscope.table.partition-name.pruning.enabled su true nel file di configurazione ranger-gcs-site.xml sulle VM del cluster Dataproc.

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

Esempio:

  • Nome bucket Cloud Storage: gs://warehouse
  • Percorso token di accesso originale: warehouse/hive/table/type=debit/year=2017/month=Aug/day=01/
  • Dopo aver impostato downscope.table.partition-name.pruning.enabled su true, percorso del token di accesso con ambito up: warehouse/hive/table/