前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【ES三周年】线下es环境数据迁移至腾讯云ES实例实践

【ES三周年】线下es环境数据迁移至腾讯云ES实例实践

原创
作者头像
Rex9891623
发布2023-04-07 18:00:17
4620
发布2023-04-07 18:00:17
举报
文章被收录于专栏: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 &

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档