ES数据迁移一例

举报
寒六先生 发表于 2021/02/04 10:39:53 2021/02/04
【摘要】 0.迁移说明本次迁移,主要是将本地自建的ElasticSearch服务数据,迁移到华为云CSS服务上;本次迁移属于离线迁移,如果要保持数据的一致性,迁移时源端业务需要中断;1. 源端备份源端:本地自建ES:192.168.10.86:9200目标:华为云CSS:192.168.50.69:92001.1. 更新ES配置vi config/elasticsearch.yml......# --...

0.迁移说明

  • 本次迁移,主要是将本地自建的ElasticSearch服务数据,迁移到华为云CSS服务上;

  • 本次迁移属于离线迁移,如果要保持数据的一致性,迁移时源端业务需要中断;

1. 源端备份

源端:本地自建ES:192.168.10.86:9200

目标:华为云CSS:192.168.50.69:9200

1.1. 更新ES配置

vi config/elasticsearch.yml
......
# ----------------------------------- Paths ------------------------------------
path.data: /usr/local/elasticsearch/data
path.logs: /usr/local/elasticsearch/logs
path.repo: ["/usr/local/elasticsearch/snapshot"]
......
# 主要添加path.repo参数,确定快照路径

1.2. 创建快照目录

su - es
mkdir /usr/local/elasticsearch/snapshot
# 重启服务,使新配置生效

1.3.源端创建repository

# 1. 创建仓库
curl -XPUT http://192.168.10.86:9200/_snapshot/my_backup -H 'Content-Type: application/json' -d '{
   "type": "fs",
   "settings": {
       "location": "/usr/local/elasticsearch/snapshot",
       "compress": true
  }
}'

# 2. 查看仓库
curl -XGET http://192.168.10.86:9200/_snapshot?pretty

1.4.源端备份

# 1. 执行备份
curl -XPUT http://192.168.10.86:9200/_snapshot/my_backup/snapshot_1?wait_for_completion=true

# 2.查看备份
curl -XGET http://192.168.10.86:9200/_snapshot/my_backup/snapshot_1?pretty
curl -XGET http://192.168.10.86:9200/_snapshot/my_backup/snapshot_1/_status?pretty

2. 目标端恢复(华为云CSS)

# 备注:
# 1. 创建好CSS集群后,会自动创建一个OBS桶,及存放快照的目录,记录好此目录地址,以备后用;
# 2. OBS地址:obs://css-backup-1602549555739/css_repository/Es-4689
# 3. 需要一台ECS,和CSS位于同一VPC内,可以内网互通,以便于通过curl操作CSS服务

2.1. obsutil准备

# obsutil是OBS服务的命令行操作工具,适用于在Linux系统上直接访问OBS桶对象
wget https://obs-community.obs.cn-north-1.myhuaweicloud.com/obsutil/current/obsutil_linux_amd64.tar.gz
tar xzvf obsutil_linux_amd64.tar.gz
cd obsutil_linux_amd64_5.2.9/
./obsutil config -i=****** -k=************ -e=HTTPS://obs.cn-east-2.myhuaweicloud.com
ln -s /root/obsutil_linux_amd64_5.2.9/obsutil /usr/bin/obsutil

obsutil ls

2.2. 数据上传

cp -r /usr/local/es/snapshot /backup/
cd /backup/
mv snapshot Es-4689

obsutil cp Es-4689 obs://css-backup-1602549555739/css_repository/ -f -r

2.3. CSS上确认备份

curl -XGET http://192.168.50.69:9200/_snapshot?pretty
curl -XGET http://192.168.50.69:9200/_snapshot/repo_auto/_all?pretty
# 通过以上命令,可以看到刚才上传的快照数据,已经被录入CSS

2.4. 快照数据恢复

注:直接恢复快照,使用以下命令时会报错:

curl -XPOST http://192.168.50.69:9200/_snapshot/repo_auto/snapshot_1/_restore?pretty
# 错误提示:
cannot restore index [.kibana] because it's open
# 使用以下命令,排除默认的.kibana系统索引;
# 恢复指定的用户索引:
curl -XPOST http://192.168.50.69:9200/_snapshot/repo_auto/snapshot_1/_restore?pretty -d '{
   "indices": "weibo_access_log-*"
}'

2.5. 确认索引恢复情况

curl -XGET http://192.168.50.69:9200/_cat/indices?v

至此,数据迁移完成。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。