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 zum Ranger Key Management System (KMS) zum Verschlüsseln und Entschlüsseln von Tokens zu reduzieren.

  1. Installieren Sie memcached auf den 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 Eigenschaften in der /etc/dataproc-ranger-gcs-plugin/conf/ranger-gcs-site.xml-Ranger-Konfigurationsdatei auf den Dataproc-Cluster-VMs 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 Status des Ranger-Caches aufrufen.

  1. Installieren Sie telnet.

    sudo apt-get install -y telnet 
    

  2. Stellen Sie mit telnet eine Verbindung zu memcache über den VM-Port 11211 her.

    sudo telnet 127.0.0.1 11211
    

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

    • stats items: Listet den Status der Cache-Elemente 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 untergeordneten Partitionen auf die Tabellenebene verschieben möchten, legen Sie in der Konfigurationsdatei ranger-gcs-site.xml auf den Dataproc-Cluster-VMs die Eigenschaft downscope.table.partition-name.pruning.enabled 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 downscope.table.partition-name.pruning.enabled auf true festgelegt wurde, wurde der Zugriffstokenpfad erweitert: warehouse/hive/table/