Menggunakan Ranger dengan caching dan downscoping

Aktifkan simpan ke cache

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

  1. Instal memcached di VM cluster Dataproc. 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 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 
    

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 validasi item cache.

Token akses Cloud Storage Downscope

Anda mungkin perlu mendownscope token akses Ranger untuk menaikkan (upscope) 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 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 menetapkan downscope.table.partition-name.pruning.enabled ke true, jalur token akses yang diperluas: warehouse/hive/table/