阿里云ES跨账号数据迁移(reindex)

小丫2年前技术文章1583

1、背景与前置条件

总的来说,阿里云es集群间数据迁移,有三中方式,logstash、reindex、镜像备份恢复,分别使用不同的场景,本文档主要讨论reindex方式进行账号下,ES跨集群迁移时,使用reindex方式数据迁移。需满足:

A、 ES集群为同账号且是同一可用区

B、 ES集群间满足网络互通(配置实例网络互通)

C、 目标端配置自定义远程索引白名单(需重启)

2、配置实例网络互通

2.1、配置实例网络互通前置条件

为了安全性,阿里云ES实例间的网络默认是隔离的,若需要使用跨集群搜索功能,则需要将两个实例的网络进行打通。打通条件:

A、 相同版本。

B、 归属于相同账号。

C、 部署在同一个专有网络VPC(Virtual Private Cloud)中。

D、 同为单可用区实例,或同为多可用区实例。

2.2、操作步骤

A、 登录阿里云es控制台

B、 在顶部菜单栏处,选择地域。

C、 单击目标实例ID/名称链接。

D、 在左侧导航栏,单击安全配置。

E、 单击配置实例网络互通右侧的修改。

F、 在修改配置页面,单击+添加实例。

G、 在添加实例对话框中,选择需要进行网络互通的远程阿里云ES实例的ID。

image.png

3、配置自定义远程索引白名单

3.1、操作步骤

A、 登录阿里云es控制台

B、 在顶部菜单栏处,选择地域。

C、 单击目标实例ID/名称链接。

D、 在左侧导航栏,单击ES集群配置。

E、 在右测点击修改配置,输入所源集群地址:端口,并重启es集群

image.png

4、reindex数据同步操作

4.1、操作步骤

以下操作表示从源ES集群中查询名为test1的索引,查询条件为title字段为elasticsearch,将结果写入当前集群的test2索引

POST _reindex

{

"size": 5000,

"source": {

"remote": {

"host": "源端地址:9200",

"username": "源端用于名",

"password": "源端密码"

},

"index": "源端索引名",

"size": 100

},

"dest": {

"index": "目标端索引名"

}

}

备注:

A、目标端和源端索引名不需要一致,指定就好

B、目标端需要创建索引(mapping不需要创建),或者在目标集群开启自动创建索引参数(需重启)

C、第一个"size": 5000是控制整体迁移的数据量

D、第二个"size": 100是控制迁移批次(即每次迁移数据量)

4.2、迁移完成后验证

源端和目标端分别执行下面命令,对比文档数量

GET _cat/indices/index_name?v


相关文章

helm简介

helm简介

一、Helm 是什么在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment、svc 等,步骤较繁琐。况且随着很多项目微服务化,复杂的应用在容器中部署以及管理...

PostgreSQL 源码部署

PostgreSQL 源码部署

说明本篇文章介绍 PostgreSQL 单机源码编译部署的详细步骤。1. 准备工作1.1 源码包下载进入 PostgreSQL 官网下载页面  选择 Source 栏目: 接着就进入源码版本目录,选择...

impala故障处理

问题复现:[cdh004:21000] > select count(*) from impala_100yi; Query: select count(*) from impala_100y...

寻找CPU使用率高进程方法

寻找CPU使用率高进程方法

背景节点报CPU使用率高,需要定位是什么进程占用CPU使用率高。CPU使用率持续较高在对应节点使用 “top”命令,然后键盘输入“P”,即按照CPU使用率排序进程。执行ps -ef | grep &l...

Phoenix SQLLine快速使用

Phoenix SQLLine快速使用

1、启动在Phoenix主目录下bin文件夹中,执行以下命令:bin/sqlline.py master其中master为Zookeeper中的节点,如果有多个节点,中间使用逗号分开。执行该命令后,客...

配置跨集群互信

1.源集群修改项创建跨域krbtgt Principal进入kadmin命令行,执行以下2条命令:(如有加密算法需要添加加密算法部分)addprinc krbtgt/源集群realm@目标集群real...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。