[ElasticSearch] Dúvidas na seção Backup e Restore

Boa noite.

Tenho algumas dúvidas em relação ao backup e restore do ElasticSearch. São elas:

  1. O que seria esse “type: fs”? Quais os “types” que posso escolher?
  2. Como eu faria pra realizar backups diários automaticamente? Ex: backup-2016-04-22, backup-2016-04-23, etc.
  3. Eu sempre tenho que informar o nome do backup? Se eu não informar ele me retorna um nome aleatório?
  4. A simples criação de um cluster onde os dados são replicados em todos os nós, configuraria um backup?
  5. Quando inicio um backup sem o atributo “wait_for_completion=true”, aí quando eu listar o comando “/elasticsearch_backups/_all”, o ElasticSearch vai me retornar aquele backup com a propriedade “state” diferente de “SUCCESS”? Como eu visualizo que um backup está em andamento?
  6. Como eu restauro um backup em outro servidor de ElasticSearch? Exemplo: quero restaurar um backup do servidor do ElasticSearch de produção para o servidor do ElasticSearch de homologação.
  7. Eu posso copiar os arquivos contidos na pasta “/Users/alexandrelourenco/elasticsearch_backups” para um outro servidor e executar o restore de um backup?
  8. Como eu apago um determinado backup? Exemplo: quero apagar os backups que estão com mais de 30 dias armazenados.

Se alguém puder ajudar eu agradeço desde já.

Obrigado.

Oi, Rafael! tudo bem? Vamos as suas dúvidas, cara:

1- Esse type significa que você vai utilizar o file system como repositório de backups, existem outras opções como o HDFS do Hadoop ou as nuvens Amazon e Azure, você pode encontrar mais informações aqui:

https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html#_repository_plugins

2- Acho que acabei esquecendo de mencionar explicitamente no livro mesmo, o curator que é utilizado para a expurga de índices também pode ser utilizado para realizar backups automatizados, por favor, solicite uma errata na casa do código, assim que possível eu complemento essa informação de modo mais explícito. Por agora, você pode encontrar mais informações sobre como fazer isso com o curator através deste link:

https://www.elastic.co/guide/en/elasticsearch/client/curator/current/snapshot.html

3- Infelizmente, conforme a documentação da Elasticsearch, é preciso criar um nome para a snapshot toda a vez que a mesma for realizada;

4- Não, pois a replicação apenas implica em um mecanismo que garanta a alta disponibilidade dos seus dados, ele não permitirá que você possa por exemplo restaurar os dados de um backup em um novo cluster recém criado;

5- Para saber o status de backups que estão sendo realizados em um dado momento no Elasticsearch, você pode executar o seguinte comando:

curl -XGET “localhost:9200/_snapshot/<meu repositório de backups>/_current”

6- Para restaurar, basta copiar os arquivos das snapshots para dentro de um repositório de backups já previamente criado no ambiente que você deseja efetuar o restore e daí efetua-lo normalmente como você faria no ambiente original;

7- Sim;

8- Tipicamente, se tivermos por exemplo backups diários, teríamos arquivos .dat criados na frequência de 1 por dia, a partir daí você poderia simplesmente criar um shell que apagasse os arquivos após uma certa data, não é necessário nenhum tipo de ação do ponto de vista do Elasticsearch;

Espero ter lhe ajudado, abs