1. 程式人生 > >Elasticsearch必備技能之索引遷移

Elasticsearch必備技能之索引遷移

將ES中的索引拷貝到其他ES中,是不是很重要呢?

長話短說,推薦一個工具:

一、elasticsearch-dump

安裝:

#yum install epel-release

#yum install nodejs

#yum install npm

#npm install elasticdump

#cd node_modules/elasticdump/bin 

# pwd

/home/tp/node_modules/elasticdump

# ls -al

total 388

drwxr-xr-x 2 root root 4096 Mar 21 15:46 bin

-rw-r--r-- 1 root root 174 Mar 18 2016 Dockerfile

-rw-r--r-- 1 root root 299251 Mar 15 2014 elasticdump.jpg

-rw-r--r-- 1 root root 6172 Feb 2 23:47 elasticdump.js

drwxr-xr-x 2 root root 4096 Jul 13 2016 .github

drwxr-xr-x 3 root root 4096 Mar 21 15:46 lib

-rw-r--r-- 1 root root 11356 May 22 2014 LICENSE.txt

drwxr-xr-x 10 root root 4096 Mar 21 15:46 node_modules

-rw-r--r-- 1 root root 44 May 22 2014 .npmignore

-rw-r--r-- 1 root root 15135 Mar 21 15:46 package.json

-rw-r--r-- 1 root root 13335 Dec 14 06:20 README.md

drwxr-xr-x 3 root root 4096 Mar 21 15:46 test

-rw-r--r-- 1 root root 1150 Dec 2 07:54 .travis.yml

 

使用:

#拷貝analyzer如分詞

elasticdump \

  --input=http://production.es.com:9200/old_index \

  --output=http://staging.es.com:9200/new_index \

  --type=analyzer

#拷貝對映

elasticdump \

  --input=http://production.es.com:9200/old_index \

  --output=http://staging.es.com:9200/new_index \

  --type=mapping

#拷貝資料

elasticdump \

  --input=http://production.es.com:9200/lod_index \

  --output=http://staging.es.com:9200/new_index \

  --type=data

 

OK ! 遷移成功。

 

 

推薦閱讀:

微信支付開發中幾個值得注意的地方

解析:微服務的原則

老王講架構:負載均衡

支付寶系統架構內部剖析

SaaS技術棧的走勢

大資料Spark與Storm技術選型