Elasticsearch集群进行索引的备份与恢复

这篇具有很好参考价值的文章主要介绍了Elasticsearch集群进行索引的备份与恢复。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Elasticsearch集群进行索引的备份与恢复

一,进行es集群的部署与配置

准备需要三台服务器

ip如下:

10.1.40.110,10.1.40.12,10.1.40.8

我们要进行集群部署首先要进行,创建备份共享文件存储地址

由于是集群部署且服务器不同所以这边用到了NFS进行文件的共享

备份到集群共享目录

步骤:
1)、搭建集群共享目录 (这里使用NFS也可以使用其它共享目录技术)

安装NFS服务端:
a、选择集群中某一个节点,可以选择ES的Master节点,检查是否安装NFS

rpm -qa | grep nfs  
rpm -qa | grep rpcbind

b、如果没有安装,则安装NFS

yum install nfs-utils  rpcbind
离线环境需要自己去下载相关包安装

c、设置开机启动

systemctl  enable  rpcbind.service
systemctl  enable  nfs-server.service

d、启动NFS

systemctl  start   rpcbind.service
systemctl  start   nfs-server.service

e、创建共享目录

mkdir  /usr/local/backup   具体目录名可以自己设置
chown  -R  用户名  /usr/local/backup

这里的用户名必须是启动ES的用户

f、设置可以访问的地址和权限

vi  /etc/exports 添加下面内容:
/usr/local/backup  *(rw,sync,no_root_squash,no_subtree_check)

代表所有网段都可以访问,如果想配置为特定ip,可以添加为es集群中所有节点的ip

g、刷新配置并查看

exportfs  -a     刷新配置并立刻生效
showmount  -e  ip    这里ip为当前创建共享目录主机ip这里选择的是:10.1.40.8作为服务端

配置NFS客户端(所有除开上一步中的外的所有ES节点都需执行如下操作)

a、检查是否安装NFS

rpm -qa | grep nfs  
rpm -qa | grep rpcbind

b、如果没有安装,则安装NFS

b、如果没有安装,则安装NFS

yum install nfs-utils  rpcbind
离线环境需要自己去下载相关包安装

c、设置开机启动

systemctl  enable  rpcbind.service
systemctl  enable  nfs-server.service

d、启动NFS

systemctl  start   rpcbind.service
systemctl  start   nfs-server.service

e、创建共享目录

mkdir  /usr/local/backup  保持和NFS服务端目录一致
chmod -R  用户名  /usr/local/backup
这里的用户名必须是启动ES的用户

f、挂载目录

showmount  -e   ip   ip为NFS服务端ip,这里是10.1.40.8
mount -t nfs  ip:/usr/local/backup  /usr/local/backup  ip同上

h、设置开机挂载

vi /etc/fstab
ip:/usr/local/backup  /usr/local/backup nfs defaults 0 0
ip为NFS服务端ip这里是10.1.40.8

2)、修改es配置

修改elasticsearch.yml,配置path.repo的属性为上述共享目录,然后重启集群
这里的elasticsearch.yml如下,可以供参考

#相当于这个集群名字必须要相同
cluster.name: myes
#节点的名称必须不一样
node.name: node-2
node.master: true
node.data: true
node.max_local_storage_nodes: 3
path.data: /usr/demo/data
path.logs: /usr/demo/logs
#设置的备份仓库地址
path.repo: ["/usr/local/backup"]
bootstrap.memory_lock: true 
bootstrap.system_call_filter: false
http.port: 9200
transport.tcp.port: 9300
network.host: 0.0.0.0
discovery.seed_hosts: ["10.1.40.8","10.1.40.110","10.1.40.12"]
cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
network.publish_host: 10.1.40.110
#跨域配置
http.cors.enabled: true 
http.cors.allow-origin: "*"

二.Kibana中的集群配置

server.port: 5601         #kibana端口
server.host: "0.0.0.0"   #所有主机都能访问,或者也可以指定一个ip
elasticsearch.hosts: ["http://10.1.40.8:9200","http://10.1.40.110:9200","http://10.1.40.12:9200"]    #配置es的访问地址     
kibana.index: ".kibana"
i18n.locale: "zh-CN"

三.索引的备份与恢复

步骤首先是进行创建备份仓库这里选择如下:/usr/local/backup

在es的elasticsearch.yml下进行添加配置(集群环境下都要进行配置)

path.repo: ["/usr/local/backup"]

然后在kibana中执行

PUT /_snapshot/my_fs_backup
{
    "type": "fs",
    "settings": {
        "location": "/usr/local/backup",
        "compress": true
    }
}

创建索引写入数据(如要操作已有的索引,这个步骤可以进行省略,仅作为事例存在)

PUT test
{
    "settings" : {
        "number_of_shards" : 3,
        "number_of_replicas" : 0
    }
}
POST _bulk
{ "index" : { "_index" : "test", "_id" : "1" } }
{ "msg" : "value1" }
{ "index" : { "_index" : "test", "_id" : "2" } }
{ "msg" : "value2" }
{ "index" : { "_index" : "test", "_id" : "3" } }
{ "msg" : "value3" }
{ "index" : { "_index" : "test", "_id" : "4" } }
{ "msg" : "value4" }
{ "index" : { "_index" : "test", "_id" : "5" } }
{ "msg" : "value5" }

为上述索引创建一个snapshot

PUT /_snapshot/my_fs_backup/snapshot_test_1?wait_for_completion=true
{
  "indices": "test",
  "ignore_unavailable": true,
  "include_global_state": false
}

如要新增snapshot可以修改快照的名字:snapshot_test_1 跟 “indices”: “test” ,的索引名称

indices写索引的名称

可以查看存储库路径,/usr/local/backup,里面有内容。

删除上述索引

DELETE test

恢复上述索引

恢复索引主要是根据快照的名字:snapshot_test_1 ,跟索引的名称:“indices”: “test”,

POST /_snapshot/my_fs_backup/snapshot_test_1/_restore
{
  "indices": "test",
  "ignore_unavailable": true,
  "include_global_state": true
}

查看检查索引数据文章来源地址https://www.toymoban.com/news/detail-774453.html

GET test/_search
GET test/_settings

到了这里,关于Elasticsearch集群进行索引的备份与恢复的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ES快照备份及恢复(ES数据迁移)

    目录 ES配置仓库 elasticsearch.yml 注册仓库 仓库相关操作 查看仓库 删除仓库 创建快照 快照相关操作 查询快照 删除快照 恢复快照 快照全量恢复 指定索引恢复 恢复时重命名 合并索引 索引相关操作 查询全量索引 查询索引状态 打开/关闭索引 删除索引 迁移步骤说明: 需搭建共

    2023年04月09日
    浏览(43)
  • ES数据备份与恢复

    场景:ES线上的数据和服务迁移到另外的机器上去 老ES机器ip:172.16.0.1 新ES机器ip:172.16.0.2 一. 首先, 在备份之前要在es/config/elasticsearch.yml添加仓库配置: path.repo: [\\\"/mnt/backup/es_backup\\\"] 1. 2.重启ES 二. 在老机器上 3.创建备份仓库 在/mnt/backup下新建名为es_backup的仓库 POST /_snapsho

    2024年02月16日
    浏览(40)
  • elasticSearch核心概念的介绍(十四):ES集群索引分片管理

    上一章节我们对ES的集群进行了搭建,有兴趣的朋友可以参考一下elasticSearch核心概念的介绍(十三):docker搭建ES集群 这里我们来介绍了ES集群索引的分片管理 ES集群索引分片管理 介绍 分片(shard):因为ES是个分布式的搜索引擎,所以索引通常都会分解成不同部分,而这些

    2023年04月27日
    浏览(56)
  • ElasticSearch 数据备份与恢复

    以下为背景 Elasticsearch 7.6.2单点,8.3.3单点 Docker 部署 当前使用场景:部分index,数据量较大,需要在跨版本的ES之间进行迁移 一、前提说明 1. Elasticsearch备份 2. 备份恢复方案 二、Elasticsearch 环境准备 1.查看Elasticsearch所有版本 2.部署2个Elasticsearch单点服务 三、数据备份 1. 增加

    2024年02月10日
    浏览(41)
  • 对HBase集群进行持续备份和恢复的策略 Continuous Backup & Restore Strategy for Apache HBase

    作者:禅与计算机程序设计艺术 2019年初,Apache HBase项目启动了9个年头。从最初仅仅是Hadoop生态圈中的一个组件,逐渐演变成越来越多的大数据存储解决方案的一部分。在快速发展的同时,也带来了许多技术上的挑战,如一致性、性能等方面的问题。而在这样的背景下,HBa

    2024年02月09日
    浏览(41)
  • etcd单点部署集群及数据备份与恢复

    etcd单机集群部署 下载etcd 二进制安装包。 创建相关目录 在 /data/etcd/node1,/data/etcd/node2,/data/etcd/node3创建三个配置文件 node1.yml node2.yml node3.yml 配置文件参数解析 启动3个节点 查看集群状态 etcd备份脚本 etcd数据恢复 停止etcd 导入数据,如下 更改启动文件中data-dir为导入时的目

    2024年01月17日
    浏览(50)
  • Elasticsearch 的数据备份和恢复

    1.1 Elasticsearch 数据备份 数据备份是一项重要的任务,用于保护数据免受意外数据丢失、硬件故障等不可预测的事件。 Elasticsearch 提供了一些机制来备份和恢复数据,以确保数据的可靠性和持久性。 1.2 Elasticsearch 数据恢复 数据恢复是指从备份中恢复数据并将其重新加载到 El

    2024年02月08日
    浏览(41)
  • es7版本数据备份与恢复(生产环境)

    环境:将192.170.94.3服务器上的数据导入192.170.94.4服务器上 方式:基于快照的方式恢复数据 工具:本文章未使用es工具,全部使用命令行操作 1.在备份之前要在$ES_HOME/config/elasticsearch.yml配置文件中添加快照仓库配置 2.将es集群重启 1.创建快照仓库 创建名称为ESbak_file的快照仓库

    2024年02月01日
    浏览(43)
  • 如何使用 PHP 进行数据库备份和恢复?

    想要使用PHP进行数据库备份和恢复? 首先,我们要明白为什么要备份和恢复数据库。因为有时候,我们的数据库可能会被黑客攻击或者系统故障所影响,导致数据丢失或损坏。所以,为了防止这种情况发生,我们需要定期备份数据库,并在需要时快速恢复。 好了,现在我们

    2024年02月15日
    浏览(91)
  • 【Elasticsearch】索引恢复(recovery)流程梳理之EXISTING_STORE索引数据恢复

    索引recovery是指索引数据恢复,包含以下几种类型 EMPTY_STORE, 索引没有数据,一般是新建索引的情况,不用恢复数据 EXISTING_STORE, 从本地存储的数据恢复,例如集群重启primary shard进行数据恢复 PEER, 从另一个节点恢复数据,例如集群重启replica从primary恢复数据;primary进行relocat

    2024年01月18日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包