本地ES数据通过快照方式迁移到腾讯云

本地ES数据通过快照方式迁移到腾讯云

快照会备份整个集群的当前状态和数据,并保存到集群中各个节点共享的仓库中。
这个备份的进程是增量备份的,在第一次备份的基础上进行的第二次备份只备份新变化的数据。

基本的流程步骤可分为以下几步

  1. 建立NFS文件共享服务(本地磁盘空间充足的可省略此步
  2. 修改本地elasticsearch配置文件elasticsearch.yml,path.repo: 快照仓库位置
  3. 本地创建快照仓库
  4. 本地创建快照
  5. 修改腾讯云elasticsearch配置文件elasticsearch.yml,path.repo: 快照仓库位置
  6. 腾讯云创建快照仓库
  7. 复制本地的快照文件到腾讯云的仓库
  8. 在腾讯云恢复快照

建立NFS文件共享服务

要保证共享的服务器互通

服务端:
1、 安装NFS服务软件:

yum install rpcbind nfs-utils -y 

2、 建立需要共享的目录,并修改文件权限

mkdir -p /apps/nfs
chmod 777 /apps/nfs -R 

3、修改NFS服务配置文件, /etc/exports

#分享的目录   主机名称或者IP(参数1,参数2)
#ip可以使用通配符
/apps/nfs
10.9.121.211(rw,sync,all_squash) 10.9.134.110(rw,sync,all_squash) 

可以设定的参数主要有以下这些:

rw:可读写的权限;
ro:只读的权限;
no_root_squash:登入到NFS主机的用户如果是root,该用户即拥有root权限;
root_squash:登入NFS主机的用户如果是root,该用户权限将被限定为匿名使用者nobody;
all_squash:不管登陆NFS主机的用户是何权限都会被重新设定为匿名使用者nobody。
anonuid:将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中。
anongid:同anonuid,但是变成group ID就是了!
sync:资料同步写入存储器中。
async:资料会先暂时存放在内存中,不会直接写入硬盘。
insecure:允许从这台机器过来的非授权访问。

4、 使配置文件生效

exportfs -rv

exportfs [-aruv]
-a :全部mount或者unmount /etc/exports中的内容
-r :重新mount /etc/exports中分享出来的目录
-u :umount 目录
-v :在 export 的时候,将详细的信息输出到屏幕上。

5、 启动服务

systemctl start rpcbind
systemctl start nfs

上面命令不能启动的话,使用下列命令

service rpcbind start
service nfs start

客户端:
1、安装客户端软件:

yum install nfs-utils -y 

2、新建挂载目录:

mkdir /apps/nfs

3、挂载共享目录: 为了提高NFS的稳定性,使用TCP协议挂载,NFS默认用UDP协议

mount -t nfs 10.10.10.10:/apps/nfs /apps/nfs -o proto=tcp -o nolock

4、查看是否挂载成功

showmount -e 服务端的IP

-a :这个参数是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的cline机器。
-e :显示指定的NFS SERVER上export出来的目录。

5.查看挂载文件磁盘可使用的大小

df -h

image-20200807165623853

本地ES创建快照

以下只是简单的命令使用,如需配置其他参数可参考官方文档

详细的快照命令看参考官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/6.2/modules-snapshots.html

设置快照仓库地址并重启

#修改elasticsearch.yml文件,添加快照仓库地址
path.repo: '/apps/nfs'

创建快照仓库 (创建了一个index_paytrade_back1仓库)

PUT /_snapshot/index_paytrade_back1
{
  "type": "fs",
  "settings": {
  "location": "/apps/nfs/index_paytrade_back1",
  "compress": true, 
  "max_snapshot_bytes_per_sec": "50mb",
  "max_restore_bytes_per_sec": "50mb"
    }
}

创建快照(创建了一个名为snapshot_1的快照)

PUT /_snapshot/index_paytrade_back1/snapshot_1?wait_for_completion=true
{
  "indices": "index_paytrade",
  "ignore_unavailable": true,
  "include_global_state": false
}

查看快照

GET /_snapshot/index_paytrade_back1/_all

腾讯云恢复快照

设置快照仓库地址并重启

#修改elasticsearch.yml文件,添加快照仓库地址
path.repo: '/apps/nfs'

创建快照仓库 (创建了要恢复的index_paytrade_back1仓库)

PUT /_snapshot/index_paytrade_back1
{
  "type": "fs",
  "settings": {
  "location": "/apps/nfs",
  "compress": true, 
  "max_snapshot_bytes_per_sec": "50mb",
  "max_restore_bytes_per_sec": "50mb"
    }
}

迁移本地快照数据到腾讯云的快照仓库目录下,可使用xftp进行文件传输

恢复快照

POST /_snapshot/index_paytrade_back1/snapshot_1/_restore

查看快照状态

GET /_snapshot/_status

删除快照

DELETE /_snapshot/index_paytrade_back1/snapshot_1

文章参考:https://www.cnblogs.com/zhengyionline/archive/2019/02/12/10364311.html

https://www.cnblogs.com/_Chill/p/3878557.html

posted on 2020-08-07 17:22  有梦可有为  阅读(485)  评论(0编辑  收藏  举报