啟用快取
本節列出啟用 Ranger 快取的步驟,以減少 Ranger Key Management System (KMS) 往返次數,進而加密及解密權杖。
在 Dataproc 叢集 VM 上安裝
memcached
。根據預設,memcached 伺服器會在 VM 通訊埠 11211 (localhost:11211
) 上啟動。sudo apt-get install -y memcached
在 Dataproc 叢集 VM 的
/etc/dataproc-ranger-gcs-plugin/conf/ranger-gcs-site.xml
Ranger 設定檔中設定下列屬性。<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>重新啟動授權服務。
sudo systemctl restart ranger-gcs-plugin-authorization-server
查看快取狀態
您可以使用 telnet
查看 Ranger 快取狀態。
安裝
telnet
。sudo apt-get install -y telnet
使用 telnet 連線至 VM 通訊埠
11211
上的memcache
。sudo telnet 127.0.0.1 11211
使用
telnet
指令查看快取狀態,包括下列指令:stats items
:列出快取項目的狀態。輸出範例: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
:列出儲存在快取中的金鑰。 輸出範例:stats cachedump 17 2 ITEM 0616eeeeb54e23a09505da5bf75cd7fafe733eacf0d07bd7b1ac9cf46d17c188 [3051 b; 1707948281 s] ITEM d23645df9c79290d59ddb1b9710ff04fee37aa0b5de866b9b6d56b54641d68b4 [3078 b; 1707948281 s]
flush_all
:使快取項目失效。
縮減 Cloud Storage 存取權杖的範圍
您可能需要縮減 Ranger 存取權權杖的範圍,才能向上移動 (擴大範圍) 外部 Hive 資料表指向的 Cloud Storage 路徑。
如要將所有分區和子分區移至資料表層級,請在 Dataproc 叢集 VM 的 ranger-gcs-site.xml
設定檔中,將 downscope.table.partition-name.pruning.enabled
屬性設為 true
。
<property> <name>downscope.table.partition-name.pruning.enabled</name> <value>true</value> </property>
範例:
- Cloud Storage 值區名稱:
gs://warehouse
- 原始存取權杖路徑:
warehouse/hive/table/type=debit/year=2017/month=Aug/day=01/
- 設定
downscope.table.partition-name.pruning.enabled
為true
後, 擴大範圍的存取權杖路徑:warehouse/hive/table/