elasticsearch迁移--利用腾讯云cos和nfs

一、在公有云服务器上备份ES

1、创建备份repo

curl -uelastic:'ES&ceshi720' -XPUT "http://172.30.0.17:9200/_snapshot/my_cos_backup" -d '{"type": "cos","setti,"access_key_secret": "Secret","bucket": "estest","region": "ap-guangzhou","compress": true,"chunk_size": "500mb","base_path": "/"}}' -H'Content-Type: application/json'

2、执行snapshot备份

curl -uelastic:'123' -XPUT "http://172.30.0.17:9200/_snapshot/my_cos_backup/snapshot_1?wait_for_completion=true"

=================================

二、在腾讯云服务器上做快照

3、在ES节点1上,到COS上下载所有备份

安装coscmd

yum install python-pip -y

pip install coscmd

 

配置coscmd初始参数

coscmd config -a accesskeyid -s Secret -b estest -r ap-guangzhou

 

配置coscmd优化参数

vim /root/.cos.conf

[common]

secret_id = accesskeyid

secret_key = Secret

bucket = estest-1300672061

region = ap-guangzhou

max_thread = 20

part_size = 1

schema = http

verify = md5

anonymous = False

 

coscmd将整个存储桶拖回本地,临时存放在一个目录

coscmd download -r / /data/esback

4、修改所有本地ES配置

mkdir -p /data/essnapshot

chown -R elasticsearch:elasticsearch /data/essnapshot

vim config/elasticsearch.yml

增加一行

path.repo: ["/data/essnapshot"]

重启ES服务

 

5、在ES节点1上安装NFS服务

 

yum install nfs* rpcbind -y

 

vim /etc/exports

 

添加一行:

 

/data/essnapshot *(rw,no_root_squash,no_all_squash,sync)

 

重启服务

 

exportfs -r

 

service rpcbind restart

 

service nfs restart

 

6、在ES节点23及其他节点上挂载NFS

showmount -e x.x.x.x查看是否正常释放挂载点

接下来开始挂载

mkdir -p /data/essnapshot

chown -R elasticsearch:elasticsearch /data/essnapshot

mount -t nfs 10.0.1.111:/data/essnapshot /data/essnapshot1 -o proto=tcp -o nolock

确保所有节点都能看到/data/essnapshot里的文件

 

 

7、在其中一台ES上执行命令,创建备份repo

 

curl -XPUT 'http://10.0.0.7:9200/_snapshot/my_backup' -d '{"type":"fs","settings":{"location":"/data/essnapshot","compress":"true"}}' -H'Content-Type: application/json'

 

8、将文件移动到snapshot目录

 

mv /data/esback/* /data/essnapshot

 

9restore

curl -XPOST 'http://10.0.0.7:9200/_snapshot/my_backup/snapshot_1/_restore?wait_for_completion=true'

 

posted @   littlevigra  阅读(522)  评论(1编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
历史上的今天:
2019-03-12 如何控制docker的CPU和内存份额
2019-03-12 mysql 修改字段 + 开启ssl
2019-03-12 监控网卡流量(转)
2018-03-12 Beautifulsoap - request 网络爬虫 (转)
点击右上角即可分享
微信分享提示