Ranger mit Caching und Downscoping verwenden

Caching aktivieren

In diesem Abschnitt werden die Schritte zum Aktivieren des Cachings mit Ranger aufgeführt, 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 Dataproc-Cluster-VMs. 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 Attribute in der Ranger-Konfigurationsdatei /etc/dataproc-ranger-gcs-plugin/conf/ranger-gcs-site.xml 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

Mit telnet können Sie den Ranger-Cache-Status aufrufen.

  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 Cachestatus aufzurufen. Dazu gehören die 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: Cache-Elemente ungültig machen.

Cloud Storage-Zugriffstokens einschränken

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

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

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

Beispiel:

  • Name des Cloud Storage-Bucket: gs://warehouse
  • Pfad des ursprünglichen Zugriffstokens: warehouse/hive/table/type=debit/year=2017/month=Aug/day=01/
  • Nachdem Sie downscope.table.partition-name.pruning.enabled auf true festgelegt haben, ist der Pfad zum Zugriffstoken mit erweitertem Umfang: warehouse/hive/table/