Menggunakan Ranger dengan caching dan downscoping

Mengaktifkan caching

Bagian ini mencantumkan langkah-langkah untuk mengaktifkan caching dengan Ranger guna mengurangi perjalanan pulang pergi Ranger Key Management System (KMS) untuk mengenkripsi dan mendekripsi token.

  1. Instal memcached di Managed Service untuk Apache Spark cluster VM. Secara default, server memcached dimulai di port VM 11211 (localhost:11211).

    sudo apt-get install -y memcached
    

  2. Tetapkan properti berikut dalam file konfigurasi Ranger /etc/dataproc-ranger-gcs-plugin/conf/ranger-gcs-site.xml di VM cluster Managed Service untuk Apache Spark.

    <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. Mulai ulang layanan otorisasi.

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

Melihat status cache

Anda dapat menggunakan telnet untuk melihat status cache Ranger.

  1. Instal telnet.

    sudo apt-get install -y telnet
    

  2. Gunakan telnet untuk terhubung ke memcache di port VM 11211.

    sudo telnet 127.0.0.1 11211
    

  3. Gunakan perintah telnet untuk melihat status cache, termasuk perintah berikut:

    • stats items: Mencantumkan status item cache. Contoh output:
      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: Mencantumkan kunci yang disimpan dalam cache. Contoh output:
      stats cachedump 17 2
      ITEM 0616eeeeb54e23a09505da5bf75cd7fafe733eacf0d07bd7b1ac9cf46d17c188 [3051 b; 1707948281 s]
      ITEM d23645df9c79290d59ddb1b9710ff04fee37aa0b5de866b9b6d56b54641d68b4 [3078 b; 1707948281 s]
      
    • flush_all: Membatalkan item cache.

Menurunkan cakupan token akses Cloud Storage

Anda mungkin perlu menurunkan cakupan token akses Ranger untuk memindahkan (menaikkan cakupan) jalur Cloud Storage yang dituju oleh tabel Hive eksternal.

Untuk memindahkan semua partisi dan subpartisi ke tingkat tabel, tetapkan properti downscope.table.partition-name.pruning.enabled ke true dalam file konfigurasi ranger-gcs-site.xml di VM cluster Managed Service untuk Apache Spark.

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

Contoh:

  • Nama bucket Cloud Storage: gs://warehouse
  • Jalur token akses asli: warehouse/hive/table/type=debit/year=2017/month=Aug/day=01/
  • Setelah menetapkan downscope.table.partition-name.pruning.enabled ke true, jalur token akses yang cakupannya dinaikkan: warehouse/hive/table/