esm
Elasticsearch 迁移工具 ESM 更新 0.4.4
资料分享 • medcl 发表了文章 • 10 个评论 • 8449 次浏览 • 2020-05-14 16:07
ESM 0.4.4 修复一堆 bug,支持几个新的特性:
- 可用于生成测试数据,一般用于压力测试,基于源 ES 或者导入到本地的 JSON 数据,随机修改 ID,可以指定重复次数
- 修复 Routing 参数在不同 ES 版本下的参数差异,支持 1.x\2.x\3.x\5.x 到 6.x\7.x 的相互导入
- 修复终端下不能切换到后台执行的 bug,可以以 crontab 定时执行
- 支持指定 _source 字段导出
- 支持 _source 字段重命名
- 支持文档 _type 重命名
./bin/esm -s http://localhost:9201 -d http://localhost:9200 -x my_index1 -y
my_index2
-n elastic:pass --regenerate_id --repeat_times=10
2.先导出索引文档到本地的文件 dump.json./bin/esm -s http://localhost:9201 -x my_index1 -o dump.json
再基于这份样本,生成 10 份一样的数据到目标集群./bin/esm -i dunp.json -d http://localhost:9201 -y target-index1 --regenerate_id --repeat_times=10
更多使用示例参照项目 README 发布个es迁移工具:elasticsearch-migration
Elasticsearch • medcl 发表了文章 • 135 个评论 • 33607 次浏览 • 2016-05-23 17:09
https://github.com/medcl/elasticsearch-migration
支持多个版本间的数据迁移,使用scroll+bulk
1.版本支持1.x,2.x.5.0 (0.x未测试)
2.支持http basic auth 认证的es集群
3.支持导入覆盖索引名称(目前只支持单个索引导入的情况下可指定)
4.支持index setting和mapping的同步(相关es大版本,2.x和5.0之间不支持)
5.支持dump到本地文件
6.支持从dump文件加载导入到指定索引
欢迎测试!
#copy index index_name from 192.168.1.x to 192.168.1.y:9200
./bin/esm -s http://192.168.1.x:9200 -d http://192.168.1.y:9200 -x index_name -w=5 -b=10 -c 10000
#copy index src_index from 192.168.1.x to 192.168.1.y:9200 and save with dest_index
./bin/esm -s http://localhost:9200 -d http://localhost:9200 -x src_index -y dest_index -w=5 -b=100
#support Basic-Auth
./bin/esm -s http://localhost:9200/ -x "src_index" -y "dest_index" -d http://localhost:9201 -n admin:111111
#copy settings and override shard size
./bin/esm -s http://localhost:9200/ -x "src_index" -y "dest_index" -d http://localhost:9201 -m admin:111111 -c 10000 --shards=50 --copy_settings
#copy settings and mapping, recreate target index, add query to source fetch, refresh after migration
./bin/esm -s http://localhost:9200/ -x "src_index" -q=query:phone -y "dest_index" -d http://localhost:9201 -c 10000 --shards=5 --copy_settings --copy_mapping --force --refresh
#dump elasticsearch documents into local file
./bin/esm -s http://localhost:9200 -x "src_index" -m admin:111111 -c 5000 -b -q=query:mixer --refresh -o=dump.bin
#loading data from dump files, bulk insert to another es instance
./bin/esm -d http://localhost:9200 -y "dest_index" -n admin:111111 -c 5000 -b 5 --refresh -i=dump.bin
Elasticsearch 迁移工具 ESM 更新 0.4.4
资料分享 • medcl 发表了文章 • 10 个评论 • 8449 次浏览 • 2020-05-14 16:07
ESM 0.4.4 修复一堆 bug,支持几个新的特性:
- 可用于生成测试数据,一般用于压力测试,基于源 ES 或者导入到本地的 JSON 数据,随机修改 ID,可以指定重复次数
- 修复 Routing 参数在不同 ES 版本下的参数差异,支持 1.x\2.x\3.x\5.x 到 6.x\7.x 的相互导入
- 修复终端下不能切换到后台执行的 bug,可以以 crontab 定时执行
- 支持指定 _source 字段导出
- 支持 _source 字段重命名
- 支持文档 _type 重命名
./bin/esm -s http://localhost:9201 -d http://localhost:9200 -x my_index1 -y
my_index2
-n elastic:pass --regenerate_id --repeat_times=10
2.先导出索引文档到本地的文件 dump.json./bin/esm -s http://localhost:9201 -x my_index1 -o dump.json
再基于这份样本,生成 10 份一样的数据到目标集群./bin/esm -i dunp.json -d http://localhost:9201 -y target-index1 --regenerate_id --repeat_times=10
更多使用示例参照项目 README 发布个es迁移工具:elasticsearch-migration
Elasticsearch • medcl 发表了文章 • 135 个评论 • 33607 次浏览 • 2016-05-23 17:09
https://github.com/medcl/elasticsearch-migration
支持多个版本间的数据迁移,使用scroll+bulk
1.版本支持1.x,2.x.5.0 (0.x未测试)
2.支持http basic auth 认证的es集群
3.支持导入覆盖索引名称(目前只支持单个索引导入的情况下可指定)
4.支持index setting和mapping的同步(相关es大版本,2.x和5.0之间不支持)
5.支持dump到本地文件
6.支持从dump文件加载导入到指定索引
欢迎测试!
#copy index index_name from 192.168.1.x to 192.168.1.y:9200
./bin/esm -s http://192.168.1.x:9200 -d http://192.168.1.y:9200 -x index_name -w=5 -b=10 -c 10000
#copy index src_index from 192.168.1.x to 192.168.1.y:9200 and save with dest_index
./bin/esm -s http://localhost:9200 -d http://localhost:9200 -x src_index -y dest_index -w=5 -b=100
#support Basic-Auth
./bin/esm -s http://localhost:9200/ -x "src_index" -y "dest_index" -d http://localhost:9201 -n admin:111111
#copy settings and override shard size
./bin/esm -s http://localhost:9200/ -x "src_index" -y "dest_index" -d http://localhost:9201 -m admin:111111 -c 10000 --shards=50 --copy_settings
#copy settings and mapping, recreate target index, add query to source fetch, refresh after migration
./bin/esm -s http://localhost:9200/ -x "src_index" -q=query:phone -y "dest_index" -d http://localhost:9201 -c 10000 --shards=5 --copy_settings --copy_mapping --force --refresh
#dump elasticsearch documents into local file
./bin/esm -s http://localhost:9200 -x "src_index" -m admin:111111 -c 5000 -b -q=query:mixer --refresh -o=dump.bin
#loading data from dump files, bulk insert to another es instance
./bin/esm -d http://localhost:9200 -y "dest_index" -n admin:111111 -c 5000 -b 5 --refresh -i=dump.bin