這個工具正好srcoll+bulk原理,進行數據遷移,該工具安裝簡單,解壓即可使用。
scroll查詢:es深度分頁查詢,基於http請求,可以查詢索引下所有數據,不會有from+size不能大於1w的問題。
bulk請求:可以批量插入數據,是http請求。
1、下載文件 elasticsearch-migration
https://github.com/medcl/esm-abandoned/tree/v0.4.1
2、插入數據;
curl -XPOST 'dmp9:9201/wzp_test/just_test?pretty' -d' {"name": "Jane Doe" }';
curl -XPOST 'dmp9:9201/wzp_test/just_test?pretty' -d' {"name": "Jane wang" }';
curl -XPOST 'dmp9:9201/wzp_test/just_test?pretty' -d' {"name": "Jane he" }';
curl -XPOST 'dmp9:9201/wzp_test/just_test?pretty' -d' {"name": "Jane lv" }';
curl -XPOST 'dmp9:9201/wzp_test/just_test?pretty' -d' {"name": "Jane wang" }';
curl -XPOST 'dmp9:9201/wzp_test/just_test?pretty' -d' {"name": "Jane peng" }';
3、查看建立的索引的情況;
1)、低版本索引1.4.1;
[root@dmp9 logs]# curl dmp9:9200/_cat/indices?v
health status index pri rep docs.count docs.deleted store.size pri.store.size
green open wzp_test 5 1 6 0 30.4kb 15.3kb
2)、高版本索引2.4.1;
[root@dmp9 logs]# curl dmp9:9200/_cat/indices?v
health status index pri rep docs.count docs.deleted store.size pri.store.size
green open dmp-toutiao-allfields-20170410 5 1 4470231 0 21.8gb 10.9gb
green open dmp-toutiao-allfields-20170411 5 1 5483217 0 26.8gb 13.4gb
green open dmp-toutiao-allfields-20170412 5 1 1291251 0 6.5gb 3.2gb
green open dmp-toutiao-allfields-20170413 5 1 3692841 0 17.9gb 8.9gb
green open dmp-toutiao-allfields-20170414 5 1 5683632 0 26.9gb 13.4gb
green open dmp-toutiao-allfields-20170415 5 1 5558394 99 26.4gb 13.2gb
green open dmp-toutiao-allfields-20170416 5 1 5249961 0 24.9gb 12.4gb
green open dmp-toutiao-allfields2 15 3 1862685 274944 22.9gb 5.7gb
green open dmp-toutiao-allfields-20170417 5 1 4502766 0 21.4gb 10.7gb
green open dmp-toutiao-allfields-20170418 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170419 5 1 0 0 1.5kb 795b
green open mobilemalware_event_test_all_20180110 6 1 22538 1 109.7mb 54.8mb
green open dmp-toutiao-allfields 15 3 27132 0 309.8mb 77.4mb
green open test-index 5 1 0 0 1.5kb 795b
green open twitter 5 1 2 0 13.9kb 6.9kb
green open .kibana 1 1 41 3 160.3kb 80.1kb
green open dmp-toutiao-allfields5 15 3 38828040 195705 389.5gb 97.3gb
green open dmp-toutiao-allfields4 15 3 576123 12036 6.3gb 1.5gb
green open analysers_test_all 6 1 3843 0 715.6kb 355.1kb
green open dmp-toutiao-allfields6 15 3 12136407 0 122gb 30.5gb
green open dmp-toutiao-allfields-20170421 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170422 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170423 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170401 5 1 1326999 0 6.8gb 3.4gb
green open dmp-toutiao-allfields-20170402 5 1 1286769 0 6.4gb 3.2gb
green open dmp-toutiao-allfields-20170424 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170425 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170403 5 1 356676 0 1.8gb 930.6mb
green open dmp-toutiao-allfields-20170426 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170404 5 1 331578 0 1.6gb 870.2mb
green open dmp-toutiao-allfields-20170405 5 1 1000051 0 14.5gb 7.2gb
green open dmp-toutiao-allfields-20170427 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170428 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170406 5 1 4616148 216 22.9gb 11.4gb
green open dmp-toutiao-allfields-20170407 5 1 772956 0 3.9gb 1.9gb
green open dmp-toutiao-allfields-20170429 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170408 5 1 412638 0 2.2gb 1.1gb
green open dmp-toutiao-allfields-20170409 5 1 4491483 0 22.2gb 11.1gb
green open wherehows 5 1 0 0 1.5kb 795b
green open plugin 5 1 6 0 37.7kb 18.8kb
green open fz_external_table_all 6 1 37 0 234.1kb 117kb
green open dmp-toutiao-allfields-20170420 5 1 0 0 1.5kb 795b
[root@dmp9 logs]#
4、移動數據;
./esm -s http://192.168.91.9:9201 -d http://192.168.91.9:9200 -x wzp_test -w=5 -b=10 -c 10000;
wzp_test
-w 表示線程數
-b 表示一次bulk請求數據大小,單位MB默認 5M
-c 一次scroll請求數量
5、移動過程
[root@dmp9 bin]# ./esm -s http://192.168.91.9:9201 -d http://192.168.91.9:9200 -x wzp_test -w=5 -b=10 -c 10000;
[11-26 00:01:43] [INF] [main.go:401,main] start data migration..
Scroll 6 / 6 [=============================================================================================] 100.00% 0s
Bulk 6 / 6 [===============================================================================================] 100.00% 9s
[11-26 00:01:52] [INF] [main.go:424,main] data migration finished.
[root@dmp9 bin]#
6、移動後數據檢查;
[root@dmp9 bin]# curl dmp9:9200/_cat/indices?v
health status index pri rep docs.count docs.deleted store.size pri.store.size
green open dmp-toutiao-allfields-20170410 5 1 4470231 0 21.8gb 10.9gb
green open dmp-toutiao-allfields-20170411 5 1 5483217 0 26.8gb 13.4gb
green open dmp-toutiao-allfields-20170412 5 1 1291251 0 6.5gb 3.2gb
green open dmp-toutiao-allfields-20170413 5 1 3692841 0 17.9gb 8.9gb
green open dmp-toutiao-allfields-20170414 5 1 5683632 0 26.9gb 13.4gb
green open dmp-toutiao-allfields-20170415 5 1 5558394 99 26.4gb 13.2gb
green open dmp-toutiao-allfields-20170416 5 1 5249961 0 24.9gb 12.4gb
green open dmp-toutiao-allfields2 15 3 1862685 274944 22.9gb 5.7gb
green open dmp-toutiao-allfields-20170417 5 1 4502766 0 21.4gb 10.7gb
green open dmp-toutiao-allfields-20170418 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170419 5 1 0 0 1.5kb 795b
green open mobilemalware_event_test_all_20180110 6 1 22538 1 109.7mb 54.8mb
green open dmp-toutiao-allfields 15 3 27132 0 309.8mb 77.4mb
green open test-index 5 1 0 0 1.5kb 795b
green open twitter 5 1 2 0 13.9kb 6.9kb
green open .kibana 1 1 41 3 160.3kb 80.1kb
green open wzp_test 5 1 6 0 30.5kb 18.1kb
green open dmp-toutiao-allfields5 15 3 38828040 195705 389.5gb 97.3gb
green open dmp-toutiao-allfields4 15 3 576123 12036 6.3gb 1.5gb
green open analysers_test_all 6 1 3843 0 715.6kb 355.1kb
green open dmp-toutiao-allfields6 15 3 12136407 0 122gb 30.5gb
green open dmp-toutiao-allfields-20170421 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170422 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170401 5 1 1326999 0 6.8gb 3.4gb
green open dmp-toutiao-allfields-20170423 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170402 5 1 1286769 0 6.4gb 3.2gb
green open dmp-toutiao-allfields-20170424 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170425 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170403 5 1 356676 0 1.8gb 930.6mb
green open dmp-toutiao-allfields-20170426 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170404 5 1 331578 0 1.6gb 870.2mb
green open dmp-toutiao-allfields-20170405 5 1 1000051 0 14.5gb 7.2gb
green open dmp-toutiao-allfields-20170427 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170406 5 1 4616148 216 22.9gb 11.4gb
green open dmp-toutiao-allfields-20170428 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170407 5 1 772956 0 3.9gb 1.9gb
green open dmp-toutiao-allfields-20170429 5 1 0 0 1.5kb 795b
green open dmp-toutiao-allfields-20170408 5 1 412638 0 2.2gb 1.1gb
green open dmp-toutiao-allfields-20170409 5 1 4491483 0 22.2gb 11.1gb
green open wherehows 5 1 0 0 1.5kb 795b
green open plugin 5 1 6 0 37.7kb 18.8kb
green open fz_external_table_all 6 1 37 0 234.1kb 117kb
green open dmp-toutiao-allfields-20170420 5 1 0 0 1.5kb 795b
[root@dmp9 bin]#
1)、索引數量沒問題;
2)、查看索引基本內容;
curl -XGET dmp9:9200/wzp_test
[root@dmp9 bin]# curl -XGET dmp9:9200/wzp_test
{"wzp_test":{"aliases":{},"mappings":{"just_test":{"properties":{"name":{"type":"string"}}}},"settings":{"index":{"creation_date":"1543161765737","number_of_shards":"5","number_of_replicas":"1","uuid":"osBa1LPYR_CJQCqCzn1kzA","version":{"created":"2040199"}}},"warmers":{}}}
[root@dmp9 bin]#
3)、查看文檔;
curl -XGET dmp9:9200/wzp_test/just_test/_search;
{"took":5,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":6,"max_score":1.0,"hits":[
{"_index":"wzp_test","_type":"just_test","_id":"AWdLgMctkUaRg-1cNRHJ","_score":1.0,"_source":{"name":"Jane wang"}},
{"_index":"wzp_test","_type":"just_test","_id":"AWdLgOWXkUaRg-1cNRHK","_score":1.0,"_source":{"name":"Jane he"}},
{"_index":"wzp_test","_type":"just_test","_id":"AWdLgP62kUaRg-1cNRHL","_score":1.0,"_source":{"name":"Jane lv"}},
{"_index":"wzp_test","_type":"just_test","_id":"AWdLgQwekUaRg-1cNRHM","_score":1.0,"_source":{"name":"Jane wang"}},
{"_index":"wzp_test","_type":"just_test","_id":"AWdLgJyOkUaRg-1cNRHI","_score":1.0,"_source":{"name":"Jane Doe"}},
{"_index":"wzp_test","_type":"just_test","_id":"AWdLgSIGkUaRg-1cNRHN","_score":1.0,"_source":{"name":"Jane peng"}}]}}
[root@dmp9 bin]#
結論:數據都是完整的,因此數據遷移成功;
#######################ES升級過程的注意點問題(別人說的,自己看看需要不需要###########################
因爲ELK中Kibana版本依賴ES的版本的,在ES升級同時,Kibana 也需要升級。
有的時候可能不是最新的就是最合適的,在選擇新版本過程中需要進行評估:比如插件的支持,尤其是第三方插件。我們用了IK中文分詞插件,當時ES最新版的是5.6.2,而IK最新版的還只支持到5.6.1.
elasticsearch-migration只會插入數據,不會更新數據。所以在第四步做業務遷移時,若是遷移數據量較大,可以考慮先將遷移可能會被修改數據,對於其他確定不會被修改的數據,可以等業務遷移完成之後,再進行。
IK配置文件:2.3.3版本IK的配置是在ES安裝目錄plugin下面,5.6.1版本是在ES安裝目錄的config下。
5.x string分爲text和keyword兩種數據類型。
因爲5.x對一些查詢(比如filter查詢)和聚合查詢進行的調整,在業務應用遷移之前,需要在測試環境下先對原有業務進行迴歸測試。目前我發現的有:
5.x版本,term聚合查詢時,聚合中size不能爲0,否則會報錯。
5.x 對於filter查詢結構進行調整,迴歸業務測試時需要注意。