hincky的主页 hincky的主页
  • 2023

    • nginx
    • prometheus
    • 小工具
    • 部署
  • 数据库

    • MySQL是怎么使用/运行的
    • Redis核心技术与实战
  • 极客时间

    • Web协议详解与抓包实战
    • SQL必知必会
    • MySQL45讲
个人日常
  • 分类
  • 标签
  • 归档
  • 随笔
GitHub (opens new window)

Hincky

当有趣的人,做想做的事
  • 2023

    • nginx
    • prometheus
    • 小工具
    • 部署
  • 数据库

    • MySQL是怎么使用/运行的
    • Redis核心技术与实战
  • 极客时间

    • Web协议详解与抓包实战
    • SQL必知必会
    • MySQL45讲
个人日常
  • 分类
  • 标签
  • 归档
  • 随笔
GitHub (opens new window)
  • 2022

  • 2023

    • 一月

    • 五月

    • nginx

    • prometheus

    • tools

    • http状态码

    • 监控

    • Go

    • python

    • linux性能优化

    • PHP

    • elastic

    • chatgpt

    • 小工具

    • js

    • django

    • centos7.6配置

    • 部署

      • docker-compose部署nuxt3项目
        • docker部署nuxt3项目
          • 部署脚本
        • docker-compose部署nuxt3项目
      • 服务器部署node-exporter监控代理
        • 被监控的主机安装node exporter
          • consulManager接入云厂商生成Prometheus的配置
      • 服务器部署filebeat文件采集代理
        • tar方式安装filebeat,并设置systemctl启动
      • filebeat采集nginx日志
        • filebeat采集nginx日志
          • 确认nginx日志的位置
          • 给nginx日志格式加一个$host
          • filebeat打开nginx模块设置
        • 修改filebeat配置
          • 测试是否采集成功
      • 服务器安装nginx并给域名配置ssl证书
        • 安装nginx
        • certbot配置ssl证书
        • nginx配置ssl域名证书
      • ssh连接代码仓库--CODING为例
        • 生成公钥
        • 添加公钥到coding代码仓库
      • jumpserver堡垒机
        • 一键安装脚本
        • 解决jumpserver默认web和nginx80端口冲突
          • 配置nginx的ssl证书
        • 堡垒机添加用户组和用户
        • 添加账号
        • 添加授权
        • 命令过滤
      • 服务器部署前端nuxt3项目
        • 安装nodejs环境和PM2进程管理工具
      • docker-compose部署数据库
        • docker-compose部署redis,mysql
      • docker-compose部署ELK
        • docker-compose部署ELK
      • docker-compose部署nginx
        • docker-compose部署nginx
      • 服务器部署nginx
        • centos7.6安装nginx
      • 服务器安装二进制mysql5.7
        • 一体化脚本
        • rpm安装方式
      • 服务器部署kibana
        • 一体化脚本
      • nginx配置ssl证书
        • 配置ssl证书
        • 自动配置后的结果
      • zhanzancms部署
        • 部署zhanzancms
          • 忘记后台管理登录的账号密码怎么办
      • 服务器安装二进制elasticsearch
        • 从官网下载elastic
      • 利用阿里云oss迁移elasticsearch索引数据
        • 迁移elk
          • 快照备份
          • 自建es创建备份到阿里云oss
          • 怎么从阿里云oss恢复Elasticsearch数据
      • 安装navicat并破解
        • 安装navicat
        • 下载破解软件
      • 服务器安装二进制zincsearch
        • 从zincsearch官网下载
        • 安装并初始化
          • 配饰systemctl方式管理
      • 部署免费泛域名ssl证书
        • 下载安装acme
        • 生成ssl证书
        • 安装ssl证书
        • 更新证书
          • 手动升级
      • 阿里云免费证书
        • 数字证书中心
      • 修改服务器ssh默认连接端口
        • 创建新端口
        • 放开安全组和防火墙
        • 测试
        • 关闭原来的端口
    • 部署资源整理

    • MySQL数据库

  • 工作记录
  • 2023
  • 部署
hincky
2023-04-26
目录

利用阿里云oss迁移elasticsearch索引数据

  • 迁移elk
    • 快照备份
    • 自建es创建备份到阿里云oss
    • 怎么从阿里云oss恢复Elasticsearch数据

# 迁移elk

elk集群数据备份

# 快照备份

  • snapshot
  • repository
  1. 创建repository
  • elasticsearch.yml添加path.repo: ["/User/xxx/x/x/my_backup"]
  • 调用snapshotAPI,下面的my_backup是自定义的repository名称
PUT /_snapshot/my_backup
{
  "type": "fs", # 因为用的文件目录路径的方式,所以用fs代表这是个文件系统
  "settings": {
    "location": "/User/xxx/x/x/my_backup",
    "compress": true # 打开压缩
  }
}
1
2
3
4
5
6
7
8

# 自建es创建备份到阿里云oss

参考阿里云官方文档 (opens new window)

  1. 安装 阿里云oss 插件

在您的 Elasticsearch 服务器上安装阿里云 Elasticsearch 插件,您可以在 https://github.com/aliyun/elasticsearch-repository-oss/releases 下载插件。

源es安装oss插件,下面解压那一步根据你自己的es的plugin路径进行修改

wget https://github.com/aliyun/elasticsearch-repository-oss/releases/download/v7.7.1/elasticsearch-repository-oss-7.7.1.zip
sudo unzip -d /path/to/elasticsearch/plugins/elasticsearch-repository-oss elasticsearch-repository-oss-7.7.1.zip
rm -rf elasticsearch-repository-oss-7.7.1.zip
cd /path/to/elasticsearch/plugins/elasticsearch-repository-oss
rm -rf __MACOSX
1
2
3
4
5

目的es安装oss插件,下面解压那一步根据你自己的es的plugin路径进行修改

wget https://github.com/aliyun/elasticsearch-repository-oss/releases/download/v7.7.1/elasticsearch-repository-oss-7.17.0.zip
#下面这一步根据你自己的es的plugin路径进行修改
sudo unzip -d /path/to/elasticsearch/plugins/elasticsearch-repository-oss elasticsearch-repository-oss-7.17.0.zip
rm -rf elasticsearch-repository-oss-7.7.1.zip
cd /path/to/elasticsearch/plugins/elasticsearch-repository-oss
rm -rf __MACOSX
1
2
3
4
5
6
  1. 创建 OSS 存储桶

在阿里云 OSS 中创建一个存储桶,用于存储 Elasticsearch 备份数据。

  1. 创建 Elasticsearch 的备份仓库

在kibana或者postman执行以下方法

PUT _snapshot/my_backup
{
  "type": "oss",
  "settings": {
        "endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com", //这是杭州内网节点域名,修改成你bucket所在的节点域名
        "access_key_id": "[your_access_key_id]",
        "secret_access_key": "[your_secret_access_key]",
        "bucket": "[your_bucket_name]",
        "compress": true,
        "chunk_size": "500mb",
        "base_path": "snapshot/"
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
  1. 创建 Elasticsearch 备份

重启Elasticsearch

使用 Elasticsearch API 创建一个备份:

PUT /_snapshot/jiuyu_es_backup
{
  "type": "oss",
  "settings": {
        "endpoint": "http://oss-cn-guangzhou.aliyuncs.com",
        "access_key_id": "LTAIHKxxxxxxxxxFDt",
        "secret_access_key": "l9mMlgxyNxxxxxxxxxxn",
        "bucket": "xxxxx-es",
        "compress": true,
        "chunk_size": "500mb",
        "base_path": "snapshot/xxxxx_es_backup"
  }
}

curl -XPUT "http://119.xxx.xx.xxx:9200/_snapshot/xxxxx_es_backup" -H 'Content-Type: application/json' -d'{  "type": "oss",  "settings": {        "endpoint": "http://oss-cn-guangzhou.aliyuncs.com",        "access_key_id": "LxxxxHxxxxFDt",        "secret_access_key": "l9xxxxxxxM5c2YAMu8xn",        "bucket": "xxxxx-es",        "compress": true,        "chunk_size": "500mb",        "base_path": "snapshot/xxxxx_es_backup"  }}'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

其中,my_oss_repository 是在配置文件中定义的存储库名称,my_backup 是您创建的备份名称。

  1. 将备份文件上传到 OSS

备份完成后,您可以使用 OSS API 将备份文件上传到阿里云 OSS:

PUT /<您的 OSS 存储桶名称>/<您的备份文件存储路径>/<备份文件名称>
1

其中,<您的 OSS 存储桶名称> 是您创建的存储桶名称,<您的备份文件存储路径> 是您在配置文件中定义的备份文件存储路径,<备份文件名称> 是您创建的备份文件名称。

以上就是将自建的 Elasticsearch 创建备份并上传到阿里云 OSS 的步骤。

# 怎么从阿里云oss恢复Elasticsearch数据

  1. 首先,您需要在阿里云OSS上创建一个存储您Elasticsearch备份的Bucket,并将备份文件上传到该Bucket中。

  2. 接下来,您需要安装Elasticsearch的 OSS 插件,该插件可以让Elasticsearch从服务器或OSS中恢复数据。

  3. 然后,您需要在Elasticsearch配置文件中配置 OSS 插件,以指定Bucket的名称、访问密钥等信息。

  4. 接着,您可以使用Elasticsearch的恢复API来恢复数据。在执行恢复操作之前,您需要确定要恢复的索引名称、恢复到哪个时间点等信息。

  5. 如果恢复途中出现错误,可以根据日志提示,修改或者删除冲突的索引

以下是一个简单的恢复API请求示例:

POST _snapshot/my_backup/snapshot_1/_restore
{
  "indices": "my_index",
  "include_global_state": true,
  "rename_pattern": "index_(.+)",
  "rename_replacement": "restored_index_$1"
}
1
2
3
4
5
6
7

上述示例中,my_backup是您在Elasticsearch中配置的备份存储库名称,snapshot_1是要恢复的快照名称,my_index是要恢复的索引名称,rename_pattern和rename_replacement参数可用于更改恢复后的索引名称。

需要注意的是,恢复操作可能需要一些时间,具体时间取决于备份文件的大小和Elasticsearch集群的规模。在执行恢复操作时,请确保Elasticsearch集群的健康状况,并确保您有足够的存储空间来存储恢复的数据。

编辑 (opens new window)
服务器安装二进制elasticsearch
安装navicat并破解

← 服务器安装二进制elasticsearch 安装navicat并破解→

最近更新
01
集成chatgpt的工具
05-24
02
修改服务器ssh默认连接端口
05-22
03
阿里云免费证书
05-15
更多文章>
Theme by Vdoing | Copyright © 2022-2023 Hincky | MIT License | 粤ICP备2022120427号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式