任务:从es集群a,b,c 。。。把数据迁移到新es集群d,e,f 迁移数据只是复制
条件允许就要额外3台服务器,分别部署新es集群d,e,f ,条件不允许就看括号中 (集群es复制到单点es,单点到集群试过了,也ok)
具体部署步骤可以自行百度 或者 看我之前的随笔
主要是修改logstash的配置文件,启动logstash时候注意加 -f参数 才能指定配置文件
vim logstash.conf
1 #logstash 输入插件 ,https://www.elastic.co/guide/en/logstash/2.2/plugins-inputs-elasticsearch.html可以官网查看input中的参数含义 2 input { 3 elasticsearch { 4 hosts => [ "a节点:9200", "b节点:9200", "c节点:9200" ] #来源集群 5 index => "source_index" 6 size => 1000 7 scroll => "5m" 8 docinfo => true 9 scan => true 10 } 11 } 12 13 filter { 14 mutate { 15 remove_field => ["@timestamp", "@version"] #过滤掉logstash 自己加上的字段 16 } 17 } 18 19 #logstash 输出插件 ,https://www.elastic.co/guide/en/logstash/2.2/plugins-outputs-elasticsearch.html 官网查看output中的参数 20 output { 21 elasticsearch { 22 hosts => [ "d节点:9200", "e节点:9200", "f节点:9200" ] #目标集群 23 index => "hottest_20170805_bak3" # 一般使用下面和来源索引一样,方便回迁 24 #index => "%{[@metadata][_index]}" #和来源索引相同 25 document_type => "%{[@metadata][_type]}" #和来源类型相同 26 document_id => "%{[@metadata][_id]}" #和来源id相同 27 flush_size => 100 #批量提交数量 28 workers => 4 #并行数量 29 } 30 }
如果需要数据回签,一般只需要把host中的 ip 端口 改一下就可以