插入测试数据

# etcdctl put  smith
# etcdctl put allen
# etcdctl put ward
# etcdctl put jones
# etcdctl put martin
# etcdctl put blake
# etcdctl put clark
# etcdctl put scott
# etcdctl put king
# etcdctl put turner
# etcdctl put adams
# etcdctl put james
# etcdctl put ford
# etcdctl put miller

查看数据

# etcdctl get --prefix ""
adams allen blake clark ford james jones king martin miller scott smith turner ward

做快照

# etcdctl snapshot save backup.db
{"level":"info","ts":1570085496.5022638,"caller":"snapshot/v3_snapshot.go:109","msg":"created temporary db file","path":"backup.db.part"}
{"level":"warn","ts":"2019-10-03T14:51:36.503+0800","caller":"clientv3/retry_interceptor.go:116","msg":"retry stream intercept"}
{"level":"info","ts":1570085496.5036564,"caller":"snapshot/v3_snapshot.go:120","msg":"fetching snapshot","endpoint":"127.0.0.1:2379"}
{"level":"info","ts":1570085496.5214782,"caller":"snapshot/v3_snapshot.go:133","msg":"fetched snapshot","endpoint":"127.0.0.1:2379","took":0.018938519}
{"level":"info","ts":1570085496.521635,"caller":"snapshot/v3_snapshot.go:142","msg":"saved","path":"backup.db"}
Snapshot saved at backup.db

查看快照信息

# etcdctl snapshot status backup.db --write-out=table
+----------+----------+------------+------------+
| HASH | REVISION | TOTAL KEYS | TOTAL SIZE |
+----------+----------+------------+------------+
| 6d1803a9 | | | kB |
+----------+----------+------------+------------+

清空数据

# etcdctl del --prefix ""

删除当前etcd的data目录,否则会报错目录已存在

# rm -rf /usr/local/etcd/data

恢复数据

# etcdctl snapshot restore backup.db --data-dir="/usr/local/etcd/data"
{"level":"info","ts":1570085656.639806,"caller":"snapshot/v3_snapshot.go:286","msg":"restoring snapshot","path":"backup.db","wal-dir":"/usr/local/etcd/data/member/wal","data-dir":"/usr/local/etcd/data","snap-dir":"/usr/local/etcd/data/member/snap"}
{"level":"info","ts":1570085656.7266932,"caller":"membership/cluster.go:392","msg":"added member","cluster-id":"cdf818194e3a8c32","local-member-id":"","added-peer-id":"8e9e05c52164694d","added-peer-peer-urls":["http://localhost:2380"]}
{"level":"info","ts":1570085656.7834268,"caller":"snapshot/v3_snapshot.go:299","msg":"restored snapshot","path":"backup.db","wal-dir":"/usr/local/etcd/data/member/wal","data-dir":"/usr/local/etcd/data","snap-dir":"/usr/local/etcd/data/member/snap"}

恢复完成后需要将从备份重新生成的data目录的属主和属组修改为etcd系统服务中的对应属主和属组

# chown -R tnuser.dba /usr/local/etcd/data

重启etcd系统服务

# systemctl stop etcd
# systemctl start etcd

再次查看恢复的数据

# etcdctl get --prefix ""
adams allen blake clark ford james jones king martin miller scott smith turner ward

etcd单节点数据备份与恢复的更多相关文章

  1. 部署k8s集群之环境搭建和etcd单节点安装

    环境搭建以及etcd 单节点安装过程 安装之前的环境搭建 在进行k8s安装之前先把虚拟机准备好,这里准备的是三台虚拟机 主机名 ip地址 角色 master 172.16.163.131 master ...

  2. Redis单节点数据同步到Redis集群

    一:Redis集群环境准备 1:需要先安装好Redis集群环境并配置好集群 192.168.0.113 7001-7003 192.168.0.162 7004-7006 2:检查redis集群 [r ...

  3. Elasticsearch:单节点数据迁移

    Elasticsearch数据迁移:windows单节点迁移到windows 将源数据中的ES安装目录下的data/nodes目录整体拷贝到目标ES的对应目录下 迁移前请备份:迁移后需要重启ES: E ...

  4. hive单节点数据倾斜解决方法

    一.现象 map/reduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长,这是因为某一个key的条数比其他key多很多(有时是百 ...

  5. etcd单节点安装

    本篇安装单个etcd,然后进行扩容etcd节点至2个,环境配置如果做了的话就跳过 实验架构 test1: 192.168.0.91 etcd test2: 192.168.0.92 无 test3: ...

  6. Kubernetes后台数据库etcd:安装部署etcd集群,数据备份与恢复

    目录 一.系统环境 二.前言 三.etcd数据库 3.1 概述 四.安装部署etcd单节点 4.1 环境介绍 4.2 配置节点的基本环境 4.3 安装部署etcd单节点 4.4 使用客户端访问etcd ...

  7. K8s二进制部署单节点 etcd集群,flannel网络配置 ——锥刺股

    K8s 二进制部署单节点 master    --锥刺股 k8s集群搭建: etcd集群 flannel网络插件 搭建master组件 搭建node组件 1.部署etcd集群 2.Flannel 网络 ...

  8. etcd数据备份与恢复验证

    一.单机 说明:执行etcd备份数据的恢复的机器必须和原先etcd所在机器一致 1.单机备份 etcdctl --endpoints="https://10.25.72.62:2379&qu ...

  9. ETCD:单机单节点

    原文地址:Setting up local clusters 设置单节点集群 对于测试环境与开发环境,最快速与简单的方式是配置一个本地集群.对于生产环境,参考集群部分. 本地单节点集群 启动一个集群 ...

随机推荐

  1. 【leetcode】1243. Array Transformation

    题目如下: Given an initial array arr, every day you produce a new array using the array of the previous ...

  2. 创建本地repo源

    1,保留rpm包 yum 安装时保留包至指定目录 编辑/etc/yum.conf 将keepcache的值设置为1: 2,使用插件 1,yum-plugin-downloadonly插件 sudo y ...

  3. jquery delegate()方法 语法

    jquery delegate()方法 语法 作用:delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数.使用 delegate( ...

  4. C# 写日志的方法

    public void WriteLog(string msg)        {            string filePath = AppDomain.CurrentDomain.BaseD ...

  5. try捕获SQL异常

  6. Android_(游戏)打飞机05:处理子弹,击中敌机,添加计分板

    (游戏)打飞机01:前言 传送门 (游戏)打飞机02:游戏背景滚动 传送门 (游戏)打飞机03:控制玩家飞机 传送门 (游戏)打飞机04:绘画敌机.添加子弹   传送门 (游戏)打飞机05:处理子弹, ...

  7. 微信小程序需求IIS服务器配置https关于SSL,TLS的综合解决方案

    SpringBoot配置SSL同时支持http和https访问 传输层安全性协议(英语:Transport Layer Security,缩写作 TLS),及其前身安全套接层(Secure Socke ...

  8. c++ STL -- set和multiset

    set和multiset 1.结构 set和multiset会根据特定的排序原则将元素排序.两者不同之处在于,multisets允许元素重复,而set不允许重复. 只要是assignable.copy ...

  9. Android Context完全解析与各种获取Context方法

    Context类型 我们知道,Android应用都是使用Java语言来编写的,那么大家可以思考一下,一个Android程序和一个Java程序,他们最大的区别在哪里?划分界限又是什么呢?其实简单点分析, ...

  10. 代码实现:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.第二个完全数是28, //它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加, //编程找出1000以内的所有完数。

    import java.util.ArrayList; import java.util.List; //一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3. ...