最近爆出log4j日志组件漏(bug)洞,我们的日志系统使用的是ELK方案,其中elasticsearch、logstash服务都用到了log4j组件,于是想通过升级来解决软件的漏(bug)洞问题。
按照下面思路进行: 1.备份elasticsearch现有业务数据 2.停掉旧版elasticsearch服务 3.安装新版elasticsearch服务 4.将备份数据恢复到新版elasticsearch服务中。
实施过程:
一、配置文件中指定仓库目录
修改elasticsearch.yml配置文件,并重启服务 path.repo: /data/elasticsearch_data_backup/
二、注册仓库 这里我使用的仓库名是20211223_001_bak,仓库存储路径/data/elasticsearch_data_backup/。
#注册快照存储库路径
PUT _snapshot/20211223_001_bak
{
"type": "fs",
"settings": {
"location": "/data/elasticsearch_data_backup/"
}
}
#查看仓库
GET /_cat/repositories?v
#删除仓库
DELETE /_snapshot/20211223_001_bak
三、创建快照备份数据 我的快照名为snapshot_20211223_001,位于20211223_001_bak仓库下
创建快照
PUT /_snapshot/20211223_001_bak/snapshot_20211223_001?wait_for_completion=true
{
"indices": "php_error,kafka_delivery_success,queue_nginx_access,kafka_consumer_exec,kafka_delivery_start,nginx_access,kafka_consumer_receive,kafka_consumer_retry_exec,kafka_log_message,queue_php_error,kafka_consumer_commit_offset",
"ignore_unavailable": true,
"include_global_state": true
}
#查看所有快照
GET /_snapshot/20211223_001_bak/_all
#查看指定仓库正在运行的快照
GET /_snapshot/20211223_001_bak/_current
#查看所有指定快照
GET /_snapshot/20211223_001_bak/snapshot_20211223_001
#查看指定快照的运行状态
GET /_snapshot/20211223_001_bak/snapshot_20211223_001/_status
#删除快照
DELETE /_snapshot/20211223_001_bak/
四、从指定快照恢复数据 恢复速度由您的服务器性能决定,这里可能需要耐心等待。
GET /_snapshot/20211223_001_bak/snapshot_20211223_001/_restore
五、验证查看索引数据
GET /_cat/indices?v
粗体
















