Ranger mit Caching und Downscoping verwenden

Caching aktivieren

In diesem Abschnitt werden die Schritte zum Aktivieren des Cachings mit Ranger beschrieben, um die Anzahl der Roundtrips des Ranger Key Management System (KMS) zum Verschlüsseln und Entschlüsseln von Tokens zu reduzieren.

  1. Installieren Sie memcached auf den VMs des Dataproc -Clusters. Standardmäßig wird der Memcached-Server auf dem VM-Port 11211 (localhost:11211) gestartet.

    sudo apt-get install -y memcached
    

  2. Legen Sie die folgenden Eigenschaften in der /etc/dataproc-ranger-gcs-plugin/conf/ranger-gcs-site.xml Ranger-Konfigurationsdatei auf den VMs des Dataproc-Clusters fest.

    <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. Starten Sie den Autorisierungsdienst neu.

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

Cache-Status ansehen

Sie können telnet verwenden, um den Ranger Cache-Status anzusehen.

  1. Installieren Sie telnet.

    sudo apt-get install -y telnet
    

  2. Stellen Sie mit Telnet eine Verbindung zu memcache auf dem VM-Port 11211 her.

    sudo telnet 127.0.0.1 11211
    

  3. Verwenden Sie telnet-Befehle, um den Cache-Status anzusehen, einschließlich der folgenden Befehle:

    • stats items: Listet den Status von Cache-Elementen auf. Beispielausgabe:
      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: Listet die im Cache gespeicherten Schlüssel auf. Beispielausgabe:
      stats cachedump 17 2
      ITEM 0616eeeeb54e23a09505da5bf75cd7fafe733eacf0d07bd7b1ac9cf46d17c188 [3051 b; 1707948281 s]
      ITEM d23645df9c79290d59ddb1b9710ff04fee37aa0b5de866b9b6d56b54641d68b4 [3078 b; 1707948281 s]
      
    • flush_all: Macht Cache-Elemente ungültig.

Cloud Storage-Zugriffstokens einschränken

Möglicherweise müssen Sie Ranger-Zugriffstokens einschränken, um die Cloud Storage-Pfade zu erweitern (Upscope), auf die eine externe Hive-Tabelle verweist.

Wenn Sie alle Partitionen und Unterpartitionen auf die Tabellenebene verschieben möchten, legen Sie die downscope.table.partition-name.pruning.enabled Eigenschaft auf true in der Konfigurationsdatei ranger-gcs-site.xml auf den VMs des Dataproc Clusters fest.

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

Beispiel:

  • Name des Cloud Storage-Buckets: gs://warehouse
  • Ursprünglicher Zugriffstokenpfad: warehouse/hive/table/type=debit/year=2017/month=Aug/day=01/
  • Nachdem Sie downscope.table.partition-name.pruning.enabled auf true gesetzt haben, erweiterter Zugriffstokenpfad: warehouse/hive/table/