Esta página mostra como fazer backup e restaurar um esquema do Ranger em Dataproc com clusters do Ranger;
Antes de começar
Crie um bucket, se necessário. Você precisa ter acesso a um bucket do Cloud Storage, que você vai usar para armazenar e restaurar um esquema do Ranger.
Para criar um bucket:
- No console do Cloud, acesse a página Buckets do Cloud Storage.
- Clique em Criar bucket.
- Na página Criar um bucket, insira as informações do seu bucket. Para ir à próxima
etapa, clique em Continuar.
- Em Nomear o bucket, insira um nome que atenda aos requisitos de nomenclatura de bucket.
-
Em Escolha um local para armazenar seus dados, faça o seguinte:
- Selecione uma opção de Tipo de local.
- Escolha uma opção de Local.
- Em Escolher uma classe de armazenamento padrão para seus dados, selecione uma classe de armazenamento.
- Em Escolha como controlar o acesso a objetos, selecione uma opção de Controle de acesso.
- Em Configurações avançadas (opcional), especifique um método de criptografia, uma política de retenção ou rótulos de bucket.
- Clique em Criar.
Fazer backup de um esquema do Ranger
Use SSH para se conectar para o nó mestre do Dataproc do cluster com o esquema do Ranger. Execute os comandos nesta seção na sessão do terminal SSH em execução no nó mestre.
Defina variáveis de ambiente.
BUCKET_NAME=bucket name \ MYSQL_PASSWORD=MySQL password SCHEMA_FILE=schema filename
Substitua:
MySQL password: é possível abrir
/etc/mysql/my.cnf
no cluster nó mestre para copiar a senha do MySQL.bucket name: o nome do bucket do Cloud Storage que será usar para armazenar o esquema do Ranger.
schema filename: especifica um nome de arquivo. sem a extensão de nome de arquivo
.sql
. O esquema de Ranger foi salvo a esse arquivo no nó mestre e, em seguida, salva em bucket name no Cloud Storage .
Interrompa os serviços do Hive.
sudo systemctl stop hive-metastore.service sudo systemctl stop hive-server2.service
Impedir alterações nas tabelas de esquema do Ranger.
mysql -u root -p${MYSQL_PASSWORD} REVOKE ALL PRIVILEGES ON ranger.* from 'rangeradmin'@'localhost'; GRANT SELECT ON ranger.* TO 'rangeradmin'@'localhost'; FLUSH PRIVILEGES; SHOW GRANTS FOR 'rangeradmin'@'localhost'; exit;
Salve o esquema do Ranger em um arquivo
.sql
.mysqldump -u root -p${MYSQL_PASSWORD} ranger > ${SCHEMA_FILE}.sql
Redefinir privilégios de Ranger.
mysql -u root -p${MYSQL_PASSWORD} REVOKE SELECT ON ranger.* from 'rangeradmin'@'localhost'; GRANT ALL PRIVILEGES ON ranger.* to 'rangeradmin'@'localhost'; FLUSH PRIVILEGES; SHOW GRANTS FOR 'rangeradmin'@'localhost'; exit;
Reinicie os serviços Hive e Ranger.
sudo systemctl start hive-metastore.service sudo systemctl start hive-server2.service sudo systemctl restart ranger-admin.service sudo systemctl restart ranger-usersync.service
Copie o esquema do Ranger para o Cloud Storage.
gcloud storage cp ${SCHEMA_FILE}.sql gs://${BUCKET_NAME}
Restaurar um esquema do Ranger
Use SSH para se conectar nó mestre do Dataproc do cluster em que você vai restaurar o esquema do cluster. Execute os comandos nesta seção na sessão do terminal SSH em execução no nó mestre.
Defina variáveis de ambiente.
BUCKET_NAME=bucket name \ MYSQL_PASSWORD=MySQL password SCHEMA_FILE=schema filename
Substitua:
MySQL password: é possível abrir
/etc/mysql/my.cnf
no cluster nó mestre para copiar a senha do MySQL.bucket name: o nome do bucket do Cloud Storage que contém o esquema do Ranger salvo.
schema filename: o nome do esquema de Ranger nome do arquivo sem a extensão
.sql
, salvo em bucket name no Cloud Storage.
Interrompa os serviços do Hive.
sudo systemctl stop hive-metastore.service sudo systemctl stop hive-server2.service
Impedir alterações nas tabelas de esquema do Ranger.
mysql -u root -p${MYSQL_PASSWORD} REVOKE ALL PRIVILEGES ON ranger.* from 'rangeradmin'@'localhost'; GRANT SELECT ON ranger.* TO 'rangeradmin'@'localhost'; FLUSH PRIVILEGES; SHOW GRANTS FOR 'rangeradmin'@'localhost'; exit;
Copie o arquivo
.sql
do esquema do Ranger no Cloud Storage para o cluster nó mestre.gcloud storage cp ${BUCKET_NAME}/${SCHEMA_FILE}.sql .
Restaure o esquema do Ranger. Esta etapa substitui o conteúdo do esquema atual do Ranger.
mysqldump -u root -p${MYSQL_PASSWORD} ranger < ${SCHEMA_FILE}.sql
Redefinir privilégios de Ranger.
mysql -u root -p${MYSQL_PASSWORD} REVOKE SELECT ON ranger.* from 'rangeradmin'@'localhost'; GRANT ALL PRIVILEGES ON ranger.* to 'rangeradmin'@'localhost'; FLUSH PRIVILEGES; SHOW GRANTS FOR 'rangeradmin'@'localhost'; exit;
Atualize os arquivos de configuração do Ranger. Mudar o host do banco de dados do Ranger para um novo nome do host do banco de dados nos arquivos a seguir com as seguintes propriedades:
Arquivo Propriedade ranger-hdfs-security.xml
ranger.plugin.hdfs.policy.rest.url
ranger-yarn-security.xml
ranger.plugin.yarn.policy.rest.url
Reinicie os serviços Hive e Ranger.
sudo systemctl start hive-metastore.service sudo systemctl start hive-server2.service sudo systemctl restart ranger-admin.service sudo systemctl restart ranger-usersync.service