Инструменты для переноса индекса с elasticsearch 1.x на elasticsearch 2.x

Я ищу инструменты для переноса данных с 1.x на 2.x elasticsearch. Подскажите, есть ли что-нибудь в наличии?


person user1819071    schedule 22.07.2016    source источник


Ответы (1)


У вас есть несколько вариантов. Вы можете использовать Logstash, чтобы скопировать индексы из вашего старого 1 .x ES в ваш новый 2.x ES:

input {
  elasticsearch {
   hosts => ["old-es:9200"]                     <--- source ES host
   index => "source_index"                      <--- source index to copy
   docinfo => true
  }
}
filter {
 mutate {
  remove_field => [ "@version", "@timestamp" ]  <--- remove added junk
 }
}
output {
 elasticsearch {
   hosts => ["new-es:9200]"                     <--- target ES host
   index => "%{[@metadata][_index]}"
   document_type => "%{[@metadata][_type]}"
   document_id => "%{[@metadata][_id]}"
 }
}

Вы также можете использовать elasticdump и использовать следующие команды для копирования source_index с old-es:9200 на ваш new-es:9200 хост:

elasticdump \
  --input=http://old-es:9200/source_index \
  --output=http://new-es:9200/source_index \
  --type=analyzer
elasticdump \
  --input=http://old-es:9200/source_index \
  --output=http://new-es:9200/source_index \
  --type=mapping
elasticdump \
  --input=http://old-es:9200/source_index \
  --output=http://new-es:9200/source_index \
  --type=data
person Val    schedule 22.07.2016
comment
Большое спасибо @val .. вы потрясающие .. :) Я использовал elasticdump, так как оба моих сервера находятся в разных сетях и маршрута нет, поэтому я не могу использовать logstash. С помощью elasticdumnp я взял дамп в файл, а затем перенес файл в новый экземпляр и поместил дамп на новый сервер. Это сработало отлично .. Еще раз спасибо - person user1819071; 25.07.2016
comment
Круто, рад, что помогло! - person Val; 25.07.2016