Menggunakan Ranger dengan caching dan downscoping

Aktifkan caching

Bagian ini mencantumkan langkah-langkah mengaktifkan penyimpanan cache dengan Ranger guna mengurangi round perjalanan Ranger Key Management System (KMS) untuk mengenkripsi dan mendekripsi token.

  1. Instal memcached di VM cluster Dataproc. Secara default, server memcache dimulai pada port VM 11211 (localhost:11211).

    sudo apt-get install -y memcached
    

  2. Tetapkan properti berikut di file konfigurasi /etc/dataproc-ranger-gcs-plugin/conf/ranger-gcs-site.xml Ranger pada VM cluster Dataproc.

    <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
    

Lihat 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 pada port VM 11211.

    sudo telnet 127.0.0.1 11211
    

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

    • stats items: Menampilkan daftar 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 di cache. Contoh output:
      stats cachedump 17 2
      ITEM 0616eeeeb54e23a09505da5bf75cd7fafe733eacf0d07bd7b1ac9cf46d17c188 [3051 b; 1707948281 s]
      ITEM d23645df9c79290d59ddb1b9710ff04fee37aa0b5de866b9b6d56b54641d68b4 [3078 b; 1707948281 s]
      
    • flush_all: Membatalkan item cache.

Token akses Cloud Storage Downscope

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

Untuk memindahkan semua partisi dan subpartisi ke level tabel, tetapkan properti downscope.table.partition-name.pruning.enabled ke true dalam file konfigurasi ranger-gcs-site.xml di VM cluster Dataproc.

<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 downscope.table.partition-name.pruning.enabled ditetapkan ke true, jalur token akses yang dicakupkan: warehouse/hive/table/