Esta página mostra como fazer backup e restaurar um esquema do Ranger no Managed Service for Apache Spark 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 será usado para armazenar e restaurar um esquema do Ranger.
Para criar um bucket:
- No Google Cloud console do, acesse a página Buckets do Cloud Storage.
- Clique em Criar.
- Na página Criar um bucket, insira as informações do seu bucket. Para ir à próxima
etapa, clique em Continuar.
-
Na seção Começar, faça o seguinte:
- Insira um nome globalmente exclusivo que atenda aos requisitos de nome de bucket.
- Para adicionar um
rótulo de bucket,
expanda a seção Rótulos (),
clique em add_box
Adicionar rótulo e especifique uma
keye umvaluepara o rótulo.
-
Na seção Escolha onde armazenar seus dados, faça o seguinte:
- Selecione um tipo de local.
- Escolha um local em que os dados do bucket serão armazenados permanentemente no menu suspenso Tipo de local.
- Se você selecionar o tipo de local birregional, também poderá ativar a replicação turbo usando a caixa de seleção relevante.
- Para configurar a replicação entre buckets, selecione
Adicionar replicação entre buckets usando o Serviço de transferência do Cloud Storage e
siga estas etapas:
Configurar a replicação entre buckets
- No menu Bucket, selecione um bucket.
Na seção Configurações de replicação, clique em Configurar para definir as configurações do job de replicação.
O painel Configurar a replicação entre buckets é exibido.
- Para filtrar objetos a serem replicados por prefixo de nome de objeto, digite um prefixo com que você quer incluir ou excluir objetos e clique em Adicionar um prefixo.
- Para definir uma classe de armazenamento para os objetos replicados, selecione uma classe de armazenamento no menu Classe de armazenamento. Se você pular essa etapa, os objetos replicados vão usar a classe de armazenamento do bucket de destino por padrão.
- Clique em Concluído.
-
Na seção Escolha como armazenar seus dados, faça o seguinte:
- Selecione uma classe de armazenamento padrão para o bucket ou Classe automática para gerenciamento automático da classe de armazenamento dos dados do bucket.
- Para ativar o namespace hierárquico, na seção Otimizar o armazenamento para cargas de trabalho com uso intensivo de dados, selecione Ativar namespace hierárquico neste bucket.
- Na seção Escolha como controlar o acesso a objetos, selecione se o bucket aplica ou não a prevenção de acesso público, e selecione um método de controle de acesso para os objetos do bucket.
-
Na seção Escolha como proteger os dados do objeto, faça o
seguinte:
- Selecione qualquer uma das opções em Proteção de dados que você
quer definir para o bucket.
- Para ativar a exclusão reversível, clique na caixa de seleção Política de exclusão reversível (para recuperação de dados) e especifique o número de dias em que você quer reter objetos após a exclusão.
- Para definir o Controle de versão de objetos, clique na caixa de seleção Controle de versão de objetos (para controle de versão), e especifique o número máximo de versões por objeto e o número de dias após os quais as versões não atuais expiram.
- Para ativar a política de retenção em objetos e buckets, clique na caixa de seleção Retenção (para conformidade) e faça o seguinte:
- Para ativar o bloqueio de retenção de objetos, clique na caixa de seleção Ativar retenção de objetos.
- Para ativar o bloqueio de bucket, clique na caixa de seleção Definir política de retenção de bucket e escolha uma unidade e um período para o período de armazenamento.
- Para escolher como os dados dos objetos serão criptografados, expanda a Criptografia de dados seção () e selecione um Criptografia de dados método.
- Selecione qualquer uma das opções em Proteção de dados que você
quer definir para o bucket.
-
Na seção Começar, faça o seguinte:
- Clique em Criar.
Fazer backup de um esquema do Ranger
Use SSH para se conectar ao nó mestre do Managed Service for Apache Spark do cluster com o esquema do Ranger. Execute os comandos desta seção na sessão do terminal SSH em execução no nó mestre.
Definir 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.cnfno nó mestre do cluster para copiar a senha do MySQL.bucket name: o nome do bucket do Cloud Storage a ser usado para armazenar o esquema do Ranger.
schema filename: especifique um nome de arquivo, sem a extensão de nome de arquivo
.sql. O esquema do Ranger é salvo nesse arquivo no nó mestre e, em seguida, 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
Impeça 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}.sqlRedefina os privilégios do 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 do Hive e do 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 ao nó mestre do Managed Service for Apache Spark do cluster em que você vai restaurar o esquema do cluster. Execute os comandos desta seção na sessão do terminal SSH em execução no nó mestre.
Definir 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.cnfno nó mestre do cluster 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 arquivo de esquema do Ranger, sem a extensão de arquivo, salvo em no Cloud Storage.
.sqlbucket name
Interrompa os serviços do Hive.
sudo systemctl stop hive-metastore.service sudo systemctl stop hive-server2.service
Impeça 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
.sqldo esquema do Ranger no Cloud Storage para o nó mestre do cluster.gcloud storage cp ${BUCKET_NAME}/${SCHEMA_FILE}.sql .Restaure o esquema do Ranger. Esta etapa substitui o conteúdo do esquema do Ranger atual.
mysqldump -u root -p${MYSQL_PASSWORD} ranger < ${SCHEMA_FILE}.sqlRedefina os privilégios do 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. Mude o host do banco de dados do Ranger para um novo nome de host de banco de dados nos arquivos a seguir com as seguintes propriedades:
Arquivo Propriedade ranger-hdfs-security.xmlranger.plugin.hdfs.policy.rest.urlranger-yarn-security.xmlranger.plugin.yarn.policy.rest.urlReinicie os serviços do Hive e do 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