Ranger mit Caching und Downscoping verwenden

Caching aktivieren

In diesem Abschnitt erfahren Sie, wie Sie das Caching mit Ranger aktivieren, um Verschlüsselungs- und Entschlüsselungs-Rundlauf des Ranger Key Management System (KMS) Tokens.

  1. Installieren Sie memcached auf den Dataproc-Cluster-VMs. Standardmäßig startet der Memcached-Server am VM-Port 11211 (localhost:11211).

    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

Du kannst telnet verwenden, um Ranger aufzurufen Cache-Status.

  1. Installieren Sie telnet.

    sudo apt-get install -y telnet 
    

  2. Stellen Sie über 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 aufzurufen, einschließlich der folgenden Befehle:

    • stats items: Status von Cache-Elementen auflisten. 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 entwerten.

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 Sie downscope.table.partition-name.pruning.enabled auf true gesetzt haben, Pfad des aktualisierten Zugriffstokens: warehouse/hive/table/