Ative a colocação em cache
Esta secção indica os passos para ativar o armazenamento em cache com o Ranger de modo a reduzir as viagens de ida e volta do Ranger Key Management System (KMS) para encriptar e desencriptar tokens.
Instale o
memcached
em VMs de cluster do Dataproc. Por predefinição, o servidor memcached é iniciado na porta 11211 da VM (localhost:11211
).sudo apt-get install -y memcached
Defina as seguintes propriedades no ficheiro de configuração do Ranger nas VMs do cluster do Dataproc.
/etc/dataproc-ranger-gcs-plugin/conf/ranger-gcs-site.xml
<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>Reinicie o serviço de autorização.
sudo systemctl restart ranger-gcs-plugin-authorization-server
Veja o estado da cache
Pode usar telnet
para ver o estado da cache do Ranger.
Instale
telnet
.sudo apt-get install -y telnet
Use o telnet para estabelecer ligação a
memcache
na porta11211
da VM.sudo telnet 127.0.0.1 11211
Use os comandos
telnet
para ver o estado da cache, incluindo os seguintes comandos:stats items
: liste o estado dos itens da cache. Exemplo de saída: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
: lista as chaves armazenadas na cache. Exemplo de saída:stats cachedump 17 2 ITEM 0616eeeeb54e23a09505da5bf75cd7fafe733eacf0d07bd7b1ac9cf46d17c188 [3051 b; 1707948281 s] ITEM d23645df9c79290d59ddb1b9710ff04fee37aa0b5de866b9b6d56b54641d68b4 [3078 b; 1707948281 s]
flush_all
: invalide os itens da cache.
Restrinja o âmbito dos tokens de acesso do Cloud Storage
Pode ter de reduzir o âmbito dos tokens de acesso do Ranger para aumentar o âmbito dos caminhos do Cloud Storage para os quais uma tabela do Hive externa aponta.
Para mover todas as partições e subpartições até ao nível da tabela,
defina a propriedade downscope.table.partition-name.pruning.enabled
como true
no ficheiro de configuração ranger-gcs-site.xml
nas VMs do cluster do Dataproc.
<property> <name>downscope.table.partition-name.pruning.enabled</name> <value>true</value> </property>
Exemplo:
- Nome do contentor do Cloud Storage:
gs://warehouse
- Caminho do token de acesso original:
warehouse/hive/table/type=debit/year=2017/month=Aug/day=01/
- Depois de definir
downscope.table.partition-name.pruning.enabled
comotrue
, caminho da chave de acesso com âmbito alargado:warehouse/hive/table/