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=true
,input
與output
里不需要把索引名加上,這樣就可以自動把原機器上的所有索引遷移到目標機器:
./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