Como faço para mover os dados do Elasticsearch de um servidor para outro?
Eu tenho o servidor A executando Elasticsearch 1.1.1 em um nó local com vários índices. Eu gostaria de copiar esses dados para o servidor B executando Elasticsearch 1.3.4
Procedimento até agora
- Desligue o ES em ambos os servidores e
- scp todos os dados para o diretório de dados correto no novo servidor. (os dados parecem estar localizados em / var / lib / elasticsearch / em minhas caixas debian)
- alterar permissões e propriedade para elasticsearch: elasticsearch
- inicie o novo servidor ES
Quando eu olho para o cluster com o plugin ES head, nenhum índice aparece.
Parece que os dados não foram carregados. Estou esquecendo de algo?
elasticsearch
Jabb
fonte
fonte
Respostas:
A resposta selecionada faz com que pareça um pouco mais complexo do que realmente é, o que você precisa a seguir (instale primeiro o npm em seu sistema).
Você pode ignorar o primeiro comando elasticdump para as cópias subsequentes se os mapeamentos permanecerem constantes.
Acabei de fazer uma migração de AWS para Qbox.io com o acima sem problemas.
Mais detalhes em:
https://www.npmjs.com/package/elasticdump
Página de ajuda (a partir de fevereiro de 2016) incluída para integridade:
fonte
Use ElasticDump
1) yum install epel-release
2) yum install nodejs
3) yum install npm
4) npm instalar elasticdump
5) cd node_modules / elasticdump / bin
6)
fonte
Você pode usar o recurso de instantâneo / restauração disponível no Elasticsearch para isso. Depois de configurar um armazenamento de instantâneo baseado no sistema de arquivos, você pode movê-lo entre os clusters e restaurar em um cluster diferente
fonte
Tentei no Ubuntu mover dados de ELK 2.4.3 para ELK 5.1.1
A seguir estão as etapas
no diretório inicial, vá para
execute o comando
Se precisar de autenticação http básica, você pode usá-la assim:
Copie um índice da produção:
fonte
sudo apt-get install -y software-properties-common
antes de add-apt-repositoryTambém existe a
_reindex
opçãoDa documentação:
fonte
Se você puder adicionar o segundo servidor ao cluster, poderá fazer o seguinte:
Isso só funcionará se o número de substituições for igual ao número de nós.
fonte
Se alguém encontrar o mesmo problema, ao tentar despejar de elasticsearch <2.0 para> 2.0, você precisará fazer:
fonte
Sempre tive sucesso simplesmente copiando o diretório / pasta de índice para o novo servidor e reiniciando-o. Você encontrará a id do índice fazendo
GET /_cat/indices
e a pasta correspondente a esta id está emdata\nodes\0\indices
(geralmente dentro da pasta elasticsearch, a menos que você a tenha movido).fonte
Podemos usar
elasticdump
oumultielasticdump
fazer o backup e restaurá-lo. Podemos mover dados de um servidor / cluster para outro servidor / cluster.Encontre uma resposta detalhada que forneci aqui .
fonte
Se você simplesmente precisa transferir dados de um servidor elasticsearch para outro, também pode usar elasticsearch-document-transfer .
Passos:
$ npm install elasticsearch-document-transfer.
config.js
config.js
options.js
$ node index.js
fonte
Você pode obter um instantâneo do status completo do seu cluster (incluindo todos os índices de dados) e restaurá-los (usando a API de restauração) no novo cluster ou servidor.
fonte