Para reutilizar informações de um usuário, como as funções atribuídas a ele, ou dados de visualizações de um cluster do Elasticsearch de source em um cluster de destino, crie snapshots manuais para fazer backup dessas informações e restaure-as no cluster do Elasticsearch de destino.
Pré-requisitos
O Object Storage Service (OSS) está ativado e há um bucket do OSS com classe de armazenamento Standard criado. Para mais informações, consulte 开通OSS服务 e Crie um bucket.
-
Dois clusters do Alibaba Cloud Elasticsearch estão criados na mesma região do bucket do OSS. Um cluster serve como source e o outro como destino. Para obter detalhes sobre a compatibilidade entre versões diferentes do Elasticsearch durante a restauração de dados a partir de snapshots, consulte Index compatibility.
NotaOs procedimentos para restaurar dados de snapshots criados em um cluster Elasticsearch V8.X diferem daqueles usados na versão V7.X. Este tópico aborda a restauração de dados de um snapshot criado em um cluster Elasticsearch V7.10 para outro cluster V7.10, bem como de um cluster V8.5 para outro V8.5.
Para saber mais sobre a compatibilidade entre versões distintas do Elasticsearch na restauração de snapshots, acesse Index compatibility.
Precauções
Execute os códigos fornecidos neste tópico diretamente nos consoles Kibana dos seus clusters do Elasticsearch.
Use apenas a API _features para fazer backup e restaurar índices de sistema e fluxos de dados de sistema em clusters Elasticsearch V8.0 ou superior. Consulte Snapshot and restore para mais detalhes sobre essa API.
Reutilizar informações de usuário, incluindo funções atribuídas, de um cluster de source para um cluster de destino
Etapa 1: Preparar o ambiente
Faça login no console Kibana do cluster Elasticsearch de source. Para mais informações, consulte Log on to the Kibana console.
Crie uma função chamada
cj_test_rolee um usuário chamadokarano cluster Elasticsearch de source. Em seguida, atribua a funçãocj_test_roleao usuário kara. Consulte Gerencie permissões de usuário com funções X-Pack para obter orientações detalhadas.
Etapa 2: Criar um snapshot para backup de dados no cluster Elasticsearch de source
Acesse o console Kibana do cluster Elasticsearch de source. Para mais informações, consulte Log on to the Kibana console.
Crie um repositório chamado
my_backupno cluster Elasticsearch de source. Consulte Crie um repositório de snapshot para instruções completas.-
Crie um snapshot para o cluster Elasticsearch de source.
-
Se o cluster de source for V7.10, execute o comando abaixo para criar um snapshot chamado
snapshot_1.NotaOs índices de sistema
.kibana*e.security*gerenciam as informações de um usuário, incluindo suas funções atribuídas, em um cluster Elasticsearch V7.10.Para entender os parâmetros do comando de criação de snapshot em clusters V7.10, consulte Restore snapshot API.
PUT _snapshot/my_backup/snapshot_1 { "indices": ".kibana*,.security*", "ignore_unavailable": true, "include_global_state": true } -
Se o cluster de source for V8.5, use o seguinte comando para criar um snapshot chamado
snapshot_1dos índices que armazenam dados do usuário, como funções atribuídas.NotaConsulte Create snapshot API para obter detalhes sobre os parâmetros de criação de snapshot em clusters V8.5.
PUT _snapshot/my_backup/snapshot_1 { "indices": "-*", "ignore_unavailable": true, "include_global_state": true, "feature_states": [ "security" ] }
-
-
Verifique se o snapshot foi criado com sucesso. Por exemplo, execute o comando a seguir para consultar os detalhes do snapshot
snapshot_1no repositóriomy_backup.GET _snapshot/my_backup/snapshot_1
Etapa 3: Restaurar dados do snapshot
Faça login no console Kibana do cluster Elasticsearch de destino. Para mais informações, consulte Log on to the Kibana console.
-
Crie um repositório chamado
my_restoreno cluster Elasticsearch de destino.PUT _snapshot/my_restore { "type": "oss", "settings": { "endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com", "access_key_id": "[your_access_key_id]", "secret_access_key": "[your_secret_access_key]", "bucket": "[your_bucket_name]", "compress": true, "chunk_size": "500mb", "base_path": "snapshot/" } } -
Restaure os dados do snapshot criado no cluster de source para o cluster Elasticsearch de destino.
-
Se o cluster de source for V7.10, siga as etapas abaixo para restaurar os dados do snapshot correspondente.
NotaAo restaurar dados de um snapshot criado em clusters V7.10 ou anteriores para um cluster de destino, desative os índices de sistema
.kibana*e.security*no cluster de destino. Reative esses índices imediatamente após a conclusão da restauração.A desativação de índices de sistema pode tornar recursos do cluster indisponíveis ou limitados. Por exemplo, desativar
.kibana*pode tornar o console Kibana indisponível, enquanto desativar.security*pode comprometer a segurança dos dados do cluster.Faça backup prévio dos dados contidos nesses índices de sistema para permitir recuperação, se necessário.
Desative esses índices no cluster de destino fora do horário de pico ou quando o cluster não estiver atendendo requisições.
Se não for possível desativar esses índices pelo console Kibana do cluster de destino, use um terminal para executar a operação. Consulte Comandos Curl que você pode usar para gerenciar um cluster Elasticsearch para mais detalhes.
-
Desative os índices de sistema
.kibana*e.security*no cluster Elasticsearch de destino.POST /<index name>/_close -
Restaure os dados do snapshot snapshot_1 para o cluster Elasticsearch de destino.
POST /_snapshot/my_restore/snapshot_1/_restore { "indices": ".kibana*,.security*", "ignore_unavailable": true, "include_global_state": false } -
Reative os índices de sistema
.kibana*e.security*no cluster Elasticsearch de destino.POST /<index name>/_open
-
Se o cluster de source for V8.5, execute o comando abaixo no console Kibana do cluster de destino para restaurar os dados do snapshot
snapshot_1.POST _snapshot/my_restore/snapshot_1/_restore { "feature_states": [ "security" ], "include_global_state": false, "indices": "-*" }
-
-
Verifique se as informações do usuário foram reutilizadas corretamente no cluster Elasticsearch de destino.
No canto superior esquerdo do console Kibana do cluster de destino, clique em
. No painel de navegação à esquerda, escolha .-
No painel de navegação à esquerda, selecione . Na página Users, verifique se o usuário kara com a função
cj_test_roleatribuída existe. Se o usuário existir, os dados do usuáriokaraforam reutilizados no cluster de destino.
Reutilizar visualizações de um cluster Elasticsearch de source em um cluster de destino
Etapa 1: Preparar o ambiente
Faça login no console Kibana do cluster Elasticsearch de source. Para mais informações, consulte Log on to the Kibana console.
-
Adicione dados de amostra.
NotaNeste exemplo, dados de amostra são adicionados a um cluster Elasticsearch V8.5. O procedimento pode variar conforme a versão do Elasticsearch. Execute as operações necessárias diretamente no console Kibana.
Na página inicial do console Kibana, clique em Try sample data na seção Get started by adding integrations.
Na aba Sample data da página exibida, clique em Other sample data sets.
-
Clique em Add data no cartão Sample flight data.
Se Add data mudar para View Data, os conjuntos de dados foram incluídos. Após essa adição, o Kibana cria automaticamente algumas visualizações relacionadas.

No canto superior esquerdo do console Kibana, clique em
. No painel de navegação à esquerda, escolha para visualizar itens como [Flights] Destination Weather e [Flights] Delays & Cancellations.
Etapa 2: Criar um snapshot para backup de dados no cluster Elasticsearch de source
Acesse o console Kibana do cluster Elasticsearch de source. Para mais informações, consulte Log on to the Kibana console.
Crie um repositório chamado
my_backupno cluster Elasticsearch de source. Consulte Crie um repositório de snapshot para obter detalhes.-
Crie um snapshot para o cluster Elasticsearch de source.
-
Se o cluster de source for V7.10, execute o comando seguinte para criar um snapshot chamado
snapshot_2.NotaPara obter informações sobre os parâmetros do comando de criação de snapshot em clusters V7.10, consulte Restore snapshot API.
PUT _snapshot/my_backup/snapshot_2 { "indices": ".kibana*,.security*", "ignore_unavailable": true, "include_global_state": true } -
Se o cluster de source for V8.5, use o comando abaixo para criar um snapshot chamado
snapshot_2dos índices que armazenam visualizações.NotaConsulte Create snapshot API para entender os parâmetros de criação de snapshot em clusters V8.5.
PUT _snapshot/my_backup/snapshot_2 { "indices": "-*", "ignore_unavailable": true, "include_global_state": true, "feature_states": [ "security","kibana" ]
-
-
Verifique se o snapshot foi criado corretamente. Por exemplo, execute este comando para obter detalhes do snapshot
snapshot_2armazenado no repositóriomy_backup.GET _snapshot/my_backup/snapshot_2
Etapa 3: Restaurar dados do snapshot
Faça login no console Kibana do cluster Elasticsearch de destino. Consulte Log on to the Kibana console para obter orientações.
-
Crie um repositório chamado
my_restoreno cluster Elasticsearch de destino.PUT _snapshot/my_restore { "type": "oss", "settings": { "endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com", "access_key_id": "[your_access_key_id]", "secret_access_key": "[your_secret_access_key]", "bucket": "[your_bucket_name]", "compress": true, "chunk_size": "500mb", "base_path": "snapshot/" } } -
Restaure os dados do snapshot criado no cluster de source para o cluster Elasticsearch de destino.
-
Se o cluster de source for V7.10, siga as etapas abaixo para restaurar os dados do snapshot.
NotaPara restaurar snapshots de clusters V7.10 ou versões anteriores em um cluster de destino, desative previamente os índices de sistema
.kibana*e.security*no cluster de destino. Reative-os assim que a restauração for concluída.A desativação de índices de sistema pode resultar em perda de funcionalidade ou restrições no cluster. Desativar
.kibana*pode impedir o acesso ao console Kibana, e desativar.security*pode comprometer a segurança dos dados.Faça backup preventivo dos dados desses índices de sistema para garantir a possibilidade de recuperação futura.
Desative esses índices no cluster de destino em horários de baixa demanda ou períodos sem tráfego.
Se a interface do Kibana no cluster de destino não permitir a desativação, use um terminal para executar a tarefa. Consulte Comandos Curl que você pode usar para gerenciar um cluster Elasticsearch para obter instruções.
-
Desative os índices de sistema
.kibana*e.security*no cluster Elasticsearch de destino.POST /<index name>/_close -
Restaure os dados do snapshot snapshot_2 para o cluster Elasticsearch de destino.
POST /_snapshot/my_restore/snapshot_2/_restore { "indices": ".kibana*,.security*", "ignore_unavailable": true, "include_global_state": false } -
Reative os índices de sistema
.kibana*e.security*no cluster Elasticsearch de destino.POST /<index name>/_open
-
Se o cluster de source for V8.5, execute o comando seguinte no console Kibana do cluster de destino para restaurar os dados do snapshot
snapshot_2.POST _snapshot/my_restore/snapshot_2/_restore { "feature_states": [ "security","kibana" ], "include_global_state": false, "indices": "-*" }
-
-
Verifique se as visualizações foram reutilizadas no cluster Elasticsearch de destino.
No canto superior esquerdo do console Kibana do cluster de destino, clique em
. No painel de navegação à esquerda, escolha . Na página Visualize Library, confirme se as visualizações aparecem corretamente no cluster de destino.