Jast blog Jast blog
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档

Jast-zsh

如果你知道你要去哪里,全世界都会给你让路。
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • ElasticSearch单机版安装
  • ElasticSearch7集群安装
  • ElasticSearch-Head浏览器插件离线安装
  • ElasticSearch-SQL浏览器离线插件安装
  • ElasticSearch快照脚本
    • 创建快照仓库
    • 根据指定快照进行快照恢复
    • 查看快照恢复状态
    • 查看快照仓库
    • 创建快照
    • 查看快照状态
  • ELasticSearch监控之Cerebro
  • Elasticsearch-SQL
  • ElasticSearch优化指南
  • ElastiSearch Merger
  • Elasticsearch Pipeline 详解
  • ElasticSearch正确的重启方式
  • ElasticSearch查询模板Mustache
  • ElasticSearch索引模板
  • ElasticSearch集群快照
  • ElasticSearch集群修改密码
  • 深入理解ElasticSearch慢查询日志
  • ElasticSearch Kibana白金级破解
  • ElasticSearch API查看集群状态
  • ElasticSearch DSL操作
  • ElasticSearch Script操作数据
  • ElasticSearch中副本和分片如何优化?
  • Docker安装ElasticSearchDump备份数据
  • ElasticSearch使用Grafana监控服务状态
  • Grafana配置ElasitcSearch监控-独立部署版本
  • ElasticSearch批量修改报错
  • ElasticSearch数据版本冲突
  • ElasticSearch索引_cat统计数量与_count统计数量不一致
  • Kibana使用Nginx反向代理设置提示404
  • ElasticSearch优化之线程池介绍
  • 当ElasticSearch时间字段设置多个格式到底是用的哪个?
  • 《ElasticSearch教程》笔记
Jast-zsh
2023-03-10
目录

ElasticSearch快照脚本

[toc]

设置快照修改集群配置方法

# 创建快照仓库

snapshot_warehouse_create.sh

参数格式如下:
 参数1 :  ip:port 
 参数2 :  快照仓库名称 
 参数3 :  快照本地存储目录  
 例:sh create_snapshot_warehouse.sh 10.8.10.23:9200  jast_snapshot_warehouse /home/es/data
1
2
3
4
5

脚本内容

ll#!/bin/bash
errorL="\033[31m"
errorR="\033[0m"

successL="\033[32m"
successR="\033[0m"


# 参数1 :  ip:port
# 参数2 :  快照仓库名称
# 参数3 :  快照本地存储目录,注意:这里快照本地存储目录必须在elasticsearch.yml中配置 path.repo: ["/home/es/snapshot"]

# ip
ip=$1
# 快照仓库名称
snapshot_warehouse_name=$2
# 快照本地存储目录
snapshot_local_dir=$3

echo 
if [ -z $ip ] || [ -z $snapshot_warehouse_name ] || [ -z $snapshot_local_dir ]; then
    echo -e $errorL'执行失败已退出,参数格式如下:\n 参数1 :  ip:port \n 参数2 :  快照仓库名称 \n 参数3 :  快照本地存储目录  \n 例:sh create_snapshot_warehouse.sh 10.8.10.23:9200  jast_snapshot_warehouse /home/es/data'$errorR
    exit 1
fi

echo -e "执行命令:\ncurl -X POST http://$ip/_snapshot/$snapshot_warehouse_name -H 'Content-Type: application/json' -d '
{ 
  \"type\":\"fs\", 
  \"settings\": { 
    \"compress\": true, 
    \"location\": \"$snapshot_local_dir\"
  } 
} 
'
"

curl -X POST http://$ip/_snapshot/$snapshot_warehouse_name -H 'Content-Type: application/json' -d '
{ 
  "type":"fs", 
  "settings": { 
    "compress": true, 
    "location": "'$snapshot_local_dir'"
  } 
} 
'

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

# 根据指定快照进行快照恢复

snapshot_restore.sh

参数格式如下:
 参数1 :  ip:port 
 参数2 :  快照仓库名称 
 参数3 :  快照名称 
 参数4 :  是否等待阻塞完成后退出,默认否
 例:sh snapshot_restor.sh 192.168.1.1:9200 jast_snapshot snapshot_20210101
1
2
3
4
5
6

脚本内容

#!/bin/bash
errorL="\033[31m"
errorR="\033[0m"

successL="\033[32m"
successR="\033[0m"

# 参数1 :  ip:port
# 参数2 :  快照仓库名称
# 参数3 :  快照名称
# 参数4 :  是否等待阻塞完成后退出,默认否

# ip
ip=$1
# 快照仓库名称
snapshot_warehouse_name=$2
# 快照名称
snapshot_name=$3

if [ -z $ip ] || [ -z $snapshot_warehouse_name ] || [ -z $snapshot_name ]; then
    echo -e $errorL'执行失败已退出,参数格式如下:\n 参数1 :  ip:port \n 参数2 :  快照仓库名称 \n 参数3 :  快照名称 \n 参数4 :  是否等待阻塞完成后退出,默认否\n 例:sh snapshot_restor.sh 192.168.1.1:9200 jast_snapshot snapshot_20210101'$errorR
    exit 1
fi


echo "执行命令:http://$ip/$snapshot_warehouse_name/$snapshot_name/_restore"

curl -X POST http://$ip/_snapshot/$snapshot_warehouse_name/$snapshot_name/_restore

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

# 查看快照恢复状态

snapshot_restore_status.sh

参数格式如下:
 参数1 :  ip:port 
 [参数2(不填写查询全部) :  索引名称] 
 例:sh snapshot_restore_status.sh 10.8.10.23:9200 operator_website_index
1
2
3
4

脚本内容

#!/bin/bash
errorL="\033[31m"
errorR="\033[0m"

successL="\033[32m"
successR="\033[0m"

# 参数1 :  ip:port
# [参数2 :  索引名称]

# ip
ip=$1
# 索引名称
index_name=$2

echo 
if [ -z $ip ]  ; then
    echo -e $errorL'执行失败已退出,参数格式如下:\n 参数1 :  ip:port \n [参数2(不填写查询全部) :  索引名称] \n 例:sh snapshot_restore_status.sh 10.8.10.23:9200 operator_website_index'$errorR
    exit 1
fi


echo "执行命令:http://$ip/$snapshot_warehouse_name/$snapshot_name/_restore"

if [ -z $index_name ]; then
    curl -X GET http://$ip/_recovery?pretty
else
    curl -X GET http://$ip/$index_name/_recovery?pretty
fi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

说明

type 字段告诉你恢复的本质;这个分片是在从一个快照恢复。
source 哈希描述了作为恢复来源的特定快照和仓库。
percent 字段让你对恢复的状态有个概念。这个特定分片目前已经恢复了 94% 的文件;它就快完成了。
{
  "restored_index_3" : {
    "shards" : [ {
      "id" : 0,
      "type" : "snapshot", 
      "stage" : "index",
      "primary" : true,
      "start_time" : "2014-02-24T12:15:59.716",
      "stop_time" : 0,
      "total_time_in_millis" : 175576,
      "source" : { 
        "repository" : "my_backup",
        "snapshot" : "snapshot_3",
        "index" : "restored_index_3"
      },
      "target" : {
        "id" : "ryqJ5lO5S4-lSFbGntkEkg",
        "hostname" : "my.fqdn",
        "ip" : "10.0.1.7",
        "name" : "my_es_node"
      },
      "index" : {
        "files" : {
          "total" : 73,
          "reused" : 0,
          "recovered" : 69,
          "percent" : "94.5%" 
        },
        "bytes" : {
          "total" : 79063092,
          "reused" : 0,
          "recovered" : 68891939,
          "percent" : "87.1%"
        },
        "total_time_in_millis" : 0
      },
      "translog" : {
        "recovered" : 0,
        "total_time_in_millis" : 0
      },
      "start" : {
        "check_index_time" : 0,
        "total_time_in_millis" : 0
      }
    } ]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

# 查看快照仓库

snapshot_warehouse_query.sh

参数格式如下:
 参数1 :  ip:port 
 [参数2 :  索引仓库名称] 
 例:sh snapshot_warehouse_query.sh 10.8.10.23:9200 jastsnapshot
1
2
3
4

脚本内容

#!/bin/bash
errorL="\033[31m"
errorR="\033[0m"

successL="\033[32m"
successR="\033[0m"

# 参数1 :  ip:port
# [参数2 :  快照仓库名称]

# ip
ip=$1
# 快照仓库名称
snapshot_warehouse_name=$2

echo 
if [ -z $ip ]  ; then
    echo -e $errorL'执行失败已退出,参数格式如下:\n 参数1 :  ip:port \n [参数2 :  快照仓库名称] \n 例:sh snapshot_warehouse_query.sh 10.8.10.23:9200 jastsnapshot'$errorR
    exit 1
fi



if [ -z $snapshot_warehouse_name ]; then
    echo "执行命令:http://$ip/_snapshot?pretty"
    curl -X GET http://$ip/_snapshot?pretty
else
    echo "执行命令:http://$ip/_snapshot/$snapshot_warehouse_name?pretty"
    curl -X GET http://$ip/_snapshot/$snapshot_warehouse_name?pretty
fi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

# 创建快照

snapshot_create.sh

参数格式如下:
 参数1 :  ip:port 
 [参数2 :  快照仓库名称]
 [参数3(不填写默认以格式:年月日时分秒,创建快照名称) :  快照名称]
 例:sh snapshot_create.sh 10.8.10.23:9200 rbtsnapshot
1
2
3
4
5

脚本内容

#!/bin/bash
# 创建快照
errorL="\033[31m"
errorR="\033[0m"

successL="\033[32m"
successR="\033[0m"


# 参数1 :  ip:port
# 参数2 :  快照仓库名称
# [参数3(不填写默认以格式:年月日时分秒,创建快照名称) :  快照名称]
# [参数4 : 指定索引快照,多个索引逗号分隔]

# ip
ip=$1
# 快照仓库名称
snapshot_warehouse_name=$2
# 快照名称
snapshot_name=$3
# 指定索引快照
snapshot_indices=$4

echo 
if [ -z $ip ] || [ -z $snapshot_warehouse_name ] ; then
    echo -e $errorL'执行失败已退出,参数格式如下:\n 参数1 :  ip:port \n [参数2 :  快照仓库名称]\n [参数3(不填写默认以格式:年月日时分秒,创建快照名称) :  快照名称]\n [参数4 : 指定索引快照,多个索引逗号分隔]\n 例:sh snapshot_create.sh 10.8.10.23:9200 rbtsnapshot'$errorR
    exit 1
fi



if [ -z $snapshot_name ] ; then
    current_time=$(date "+%Y%m%d%H%M%S")
    echo -e "执行命令:curl -X PUT http://$ip/_snapshot/$snapshot_warehouse_name/$current_time  -H 'Content-Type: application/json' -d '
    { 
      \"ignore_unavailable\": true,
      \"include_global_state\": true
    } 
    '"
    echo -e $successL"快照名称:$current_time"$successR
    curl -X PUT http://$ip/_snapshot/$snapshot_warehouse_name/$current_time  -H 'Content-Type: application/json' -d '
    { 
      "ignore_unavailable": true,
      "include_global_state": true
    } 
    '
else
  if [ -z $snapshot_indices ]; then
    echo -e "执行命令:curl -X PUT http://$ip/_snapshot/$snapshot_warehouse_name/$snapshot_name  -H 'Content-Type: application/json' -d '
    { 
      \"ignore_unavailable\": true,
      \"include_global_state\": true
    } 
    '"
    echo -e $successL"快照名称:$snapshot_name"$successR
    curl -X PUT http://$ip/_snapshot/$snapshot_warehouse_name/$snapshot_name  -H 'Content-Type: application/json' -d '
    { 
      "ignore_unavailable": true,
      "include_global_state": true
    } 
    '
  else
    echo -e "执行命令:curl -X PUT http://$ip/_snapshot/$snapshot_warehouse_name/$snapshot_name  -H 'Content-Type: application/json' -d '
    { 
      \"indices\": \"$snapshot_indices\",
      \"ignore_unavailable\": true,
      \"include_global_state\": true
    } 
    '"
    echo -e $successL"快照名称:$snapshot_name"$successR
    curl -X PUT http://$ip/_snapshot/$snapshot_warehouse_name/$snapshot_name  -H 'Content-Type: application/json' -d '
    { 
      "indices": "'$snapshot_indices'",
      "ignore_unavailable": true,
      "include_global_state": true
    } 
    '
  fi
fi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79

# 查看快照状态

snapshot_query.sh

参数格式如下:
 参数1 :  ip:port 
 参数2 :  快照仓库名称
 [参数3(不填默认查全部) :  快照名称]
 例:sh snapshot_query.sh  10.8.10.23:9200 rbtsnapshot snapshotname
1
2
3
4
5

脚本内容

#!/bin/bash
# 查看快照状态
errorL="\033[31m"
errorR="\033[0m"

successL="\033[32m"
successR="\033[0m"


# 参数1 :  ip:port
# 参数2 :  快照仓库名称
# [参数3(不填默认查全部) :  快照名称]

# ip
ip=$1
# 快照仓库名称
snapshot_warehouse_name=$2
# 快照名称
snapshot_name=$3

if [ -z $ip ] || [ -z $snapshot_warehouse_name ]; then
    echo -e $errorL'执行失败已退出,参数格式如下:\n 参数1 :  ip:port \n 参数2 :  快照仓库名称\n [参数3(不填默认查全部) :  快照名称]\n 例:sh snapshot_query.sh  10.8.10.23:9200 rbtsnapshot snapshotname'$errorR
    exit 1
fi

if [ -z $snapshot_name ]; then  
  echo "执行命令:http://$ip/_snapshot/$snapshot_warehouse_name/_all?pretty"
  curl -X GET http://$ip/_snapshot/$snapshot_warehouse_name/_all?pretty
else
  echo "执行命令:http://$ip/_snapshot/$snapshot_warehouse_name/$snapshot_name?pretty"
  curl -X GET http://$ip/_snapshot/$snapshot_warehouse_name/$snapshot_name?pretty
fi

echo "执行命令:http://$ip/_snapshot/$snapshot_warehouse_name/$snapshot_name?pretty"
curl -X GET http://$ip/_snapshot/$snapshot_warehouse_name/$snapshot_name?pretty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

#

上次更新: 2023/08/17, 16:53:14
ElasticSearch-SQL浏览器离线插件安装
ELasticSearch监控之Cerebro

← ElasticSearch-SQL浏览器离线插件安装 ELasticSearch监控之Cerebro→

最近更新
01
Linux可视化监控
02-26
02
Maven私服搭建
02-26
03
当ElasticSearch时间字段设置多个格式到底是用的哪个?
01-19
更多文章>
Theme by Vdoing | Copyright © 2016-2025 Jast-zsh | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式