本地ES数据通过快照方式迁移到腾讯云
本地ES数据通过快照方式迁移到腾讯云
快照会备份整个集群的当前状态和数据,并保存到集群中各个节点共享的仓库中。
这个备份的进程是增量备份的,在第一次备份的基础上进行的第二次备份只备份新变化的数据。
基本的流程步骤可分为以下几步
- 建立NFS文件共享服务(本地磁盘空间充足的可省略此步)
- 修改本地elasticsearch配置文件elasticsearch.yml,path.repo: 快照仓库位置
- 本地创建快照仓库
- 本地创建快照
- 修改腾讯云elasticsearch配置文件elasticsearch.yml,path.repo: 快照仓库位置
- 腾讯云创建快照仓库
- 复制本地的快照文件到腾讯云的仓库
- 在腾讯云恢复快照
建立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
本地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