Ranger mit Caching und Reduzierung des Geltungsbereichs verwenden

Caching aktivieren

In diesem Abschnitt werden die Schritte zum Aktivieren des Cachings mit Ranger beschrieben, um die Umlaufzeiten 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 startet der Memcached-Server am VM-Port 11211 (localhost:11211).

    sudo apt-get install -y memcached
    

  2. Legen Sie in der Rangr-Konfigurationsdatei /etc/dataproc-ranger-gcs-plugin/conf/ranger-gcs-site.xml auf Dataproc-Cluster-VMs die folgenden Attribute 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 am 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: Listen Sie 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 entwerten

Cloud Storage-Zugriffstokens herabstufen

Möglicherweise müssen Sie Ranger-Zugriffstokens herabstufen, um die Cloud Storage-Pfade nach oben zu verschieben, auf die eine externe Hive-Tabelle verweist.

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

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

Beispiel:

  • Name des Cloud Storage-Bucket: gs://warehouse
  • Ursprünglicher Pfad des Zugriffstokens: warehouse/hive/table/type=debit/year=2017/month=Aug/day=01/
  • Nachdem downscope.table.partition-name.pruning.enabled auf true gesetzt wurde, wurde der Pfad des Zugriffstokens erhöht: warehouse/hive/table/