【ES三周年】线下es环境数据迁移至腾讯云ES实例实践
线下es迁移至腾讯云ES实践案例
1、首先我们先要准备好node环境,简便部署满足使用即可
1.1下载node应用包后在本地数据目录解压
# xz -d node-v10.16.3-linux-x64.tar.xz
cd /data;tar -xvf node-v10.16.3-linux-x64.tar
1.2配置本地环境变量##node
vi /etc/profile #将以下内容追加到profile内
export NODE_HOME=/data/node-v10.16.3-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
source /etc/profile ##生效配置
1.3检查环境情况
# node -v
v10.16.3
# npm -v
6.9.0
2、部署elasticsearch-dump工具环境
2.1解压elasticsearch-dump工具包
cd /data;tar -zxvf elasticsearch-dump-master-c7.tar.gz
cd /data/elasticsearch-dump-master
2.2确认elasticsearch-dump工具环境
# ./bin/elasticdump --version
6.14.1
3、准备导出本地es实例索引配置及数据
3.1 使用导出本地文件的方式,同时也可以使用网络实时的迁移方式,需要依赖两端网络互通
# ./bin/elasticdump --input=http://源esIP地址:9200 --output=/data/es_dump_settings.json --type=settings #导出配置信息
| starting dump
| got 1 objects from source elasticsearch (offset: 0)
| sent 1 objects to destination file, wrote 0
| got 0 objects from source elasticsearch (offset: 1)
| Total Writes: 0
| dump complete
# ./bin/elasticdump --input=http://源esIP地址:9200 --output=/data/es_dump_mapping.json --type=mapping #导出mapping信息
| starting dump
| got 1 objects from source elasticsearch (offset: 0)
| sent 1 objects to destination file, wrote 0
| got 0 objects from source elasticsearch (offset: 1)
| Total Writes: 0
| dump complete
# ./bin/elasticdump --input=http://源esIP地址:9200 --output=/data/es_dump_data.json --type=data #导出数据信息
| starting dump
3.3 网络实时的迁移方式,需要依赖两端网络互通,腾讯云es实例支持开通公网虚拟地址以便打通网络。
./bin/elasticdump --input=http://源esIP地址:9200/索引名--output=http://目的esIP地址:9200/索引名 --type=analyzer
./bin/elasticdump --input=http://源esIP地址:9200/索引名 --output=http://目的esIP地址:9200/索引名 --type=mapping
./bin/elasticdump --input=http://源esIP地址:9200/索引名 --output=http://目的esIP地址:9200/索引名 --type=alias
./bin/elasticdump --input=http://源esIP地址:9200/索引名 --output=http://目的esIP地址:9200/索引名 --type=data
3.4 带账号密码的数据迁移
elasticdump --input=http://username:password@192.168.1.2:9200/test --output=http://username@password@192.168.1.3:9200/test --type=内容类型
4、其他补充参考
----------------------------
# 备份
elasticdump --input=http://192.168.1.2:9200/test --output=/opt/esdump/test.json
# 支持星号匹配,以test开头的所有索引数据导出到test.json文件
elasticdump --input=http://192.168.1.2:9200/test* --output=/opt/esdump/test.json
# 还原
elasticdump --input=/opt/esdump/test.json --output=http://192.168.1.3:9200/test
# 还原,不需要指定索引自动插入
elasticdump --input=/opt/esdump/test.json --output=http://192.168.1.3:9200
# 迁移 加入limit限制每次更新的条数,加快更新时间
elasticdump --input=http://10.130:9200/rdms--limit=1000 --output=http:/localhost:9200/rdms
# 带账号密码的数据迁移
elasticdump --input=http://username:password@192.168.1.2:9200/test --output=http://username@password@192.168.1.3:9200/test
# 导出Mapping信息
elasticdump --ignore-errors=true --scrollTime=120m --bulk=true --input=http://10.10.20.164:9200/xmonitor-2015.04.29 --output=http://192.168.100.72:9200/xmonitor-prd-2015.04.29 --type=mapping
# 根据查询条件导出
nohup elasticdump --ignore-errors=true --scrollTime=120m --bulk=true --input=http://10.248.161.31:9200/ams_data --output=/usr/elasticsearch/output_datas_data_week0708_0714.json --type=data --searchBody '{"query":{"bool":{"must":{"range":{"created_at":{"from":"2017-07-08 00:00:00","to":"2017-07-14 23:59:59","format":"yyyy-MM-dd HH:mm:ss","include_lower":true,"include_upper":true}}}}}}' >/usr/elasticsearch/output_data/result5.log &
相关文章
- ES版本升级报错之CheckClusterState4Scalelnerr(FailedOperation.ErrorClusterState)
- ES系列四、ES6.3常用api之文档类api
- 【ES三周年】+es快速入门&基础概念讲解
- ES mget、bulk、mappings
- IOS – OpenGL ES 图像晕影移动 GPUImageVignetteFilter
- IOS – OpenGL ES 图像水晶球效果 GPUImageGlassSphereFilter
- 【ES三周年】windows-chrome安装Elasticsearch-head插件
- 【ES三周年】GPT引领学习之旅:不同级别程序员学习Elasticsearch Java API的策略与建议
- Mongodb与ES组合,实现数据存储和搜索的双重效益(mongodb和es)
- MongoDB:为企业提供可扩展性存储解决方案(es mongodb)
- ES来打破传统从Oracle走向 NoSQL(es替代oracle)
- 使用ES数据导入Oracle让数据更加有序(es数据导入oracle)
- 比较Es与Oracle的优势与劣势(Es和oracle优缺点)
- ES与Oracle数据库高效协同缔造数据之美(es和oracle数据库)
- ES实现Oracle数据实时双向同步(es 同步 oracle)
- 数据库ES和Oracle数据库实现最佳性能的方案(es oracle)
- Oracle与ES协同同步实现最佳性能(oracle与es同步)