ES數據遷移之elasticdump


1、安裝步驟

如果出現以下錯誤:
(1)沒有package.json這個文件:可以使用npm init -f命令生成一下
(2)relocation error: npm: symbol SSL_set_cert_cb, version libssl.so.10 not defined in file libss :
       先安裝openssl 命令:yum install -y openssl 然后安裝ws 命令:npm install ws
如果安裝成功,elasticdump的默認路徑在node_modules/elasticdump/bin,首先打開目錄:cd node_modules/elasticdump/bin
在此目錄下執行下面語句:

2、導入索引模板

elasticdump \
--input=./templates.json \
--output=http://es.com:9200 \
--type=template

3、數據拷貝或遷移:

(1)

--type=analyzer:拷貝analyzer分詞
--type=data :拷貝數據
--type=mapping  :拷貝映射(意思是把原始索引的mapping結構遷移給目標索引)
./elasticdump  --input=http://host1:9200/original --output=http://host2:9200/newCopy --type=data 
elasticdump \
  --input=http://production.es.com:9200/my_index \
  --output=http://staging.es.com:9200/my_index \
  --type=mapping

--all=trueinputoutput里不需要把索引名加上,這樣就可以自動把原機器上的所有索引遷移到目標機器:

./elasticdump  --input=http://host1:9200/ --output=http://host2:9200/ --all=true  

 (2)拷貝數據到一個文件:

elasticdump \
  --input=http://host:9200/history_data\
  --output=/home/xtt/my_index_mapping.json \
  --type=mapping
elasticdump \
  --input=http://host:9200/history_data\
  --output=/home/xtt/my_index_mapping.json \ --type=data

(3)將數據導入多個文件,每個文件大小限定:  

 elasticdump \
  --input=http://production.es.com:9200/my_index \
  --output=/data/my_index.json \
  --fileSize=10mb

(4)備份索引到一個gzip:

  elasticdump \
  --input=http://host:9200/history_data \
  --output=$ \
  | gzip > /home/xtt/my_index.json.gz
  

(5)將查詢結果備份到一個文件

 elasticdump \
  --input=http://host:9200/history_data \
  --output=/home/xtt/query.json \
  --searchBody='{"query":{"bool":{"filter":{"term":{"camera_id": "0115000013100"}}}}}'

(6)只備份一個shard的數據

  elasticdump \
  --input=http://org_host:9200/history_data \
  --output=http://des_host:9200/my_index_test_ \
  --params='{"preference" : "_shards:0"}'

(7)將json文件映射為索引:

elasticdump \
--input=/home/xtt/my_index.json \
--output=http://host:9200/history_data \
--type=data


部分參考:https://blog.csdn.net/tiantang_1986/article/details/83540739


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM