etcd单点部署集群及数据备份与恢复

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

etcd单机集群部署

下载etcd 二进制安装包。
https://github.com/etcd-io/etcd/releases
创建相关目录
mkdir –p /data/etcd/node1
mkdir –p /data/etcd/node2
mkdir –p /data/etcd/node3

在 /data/etcd/node1,/data/etcd/node2,/data/etcd/node3创建三个配置文件

node1.yml
name: node1
data-dir: /data/etcd/node1 
listen-client-urls: 'http://192.168.73.222:9002'
advertise-client-urls: 'http://192.168.73.222:9002'
listen-peer-urls: 'http://192.168.73.222:9001'
initial-advertise-peer-urls: 'http://192.168.73.222:9001'
initial-cluster: node1=http://192.168.73.222:9001,node2=http://192.168.73.222:9003,node3=http://192.168.73.222:9005
initial-cluster-token: etcd-cluster-1
initial-cluster-state: new
node2.yml
name: node2
data-dir: /data/etcd/node2 
listen-client-urls: 'http://192.168.73.222:9004'
advertise-client-urls: 'http://192.168.73.222:9004'
listen-peer-urls: 'http://192.168.73.222:9003'
initial-advertise-peer-urls: 'http://192.168.73.222:9003'
initial-cluster: node1=http://192.168.73.222:9001,node2=http://192.168.73.222:9003,node3=http://192.168.73.222:9005
initial-cluster-token: etcd-cluster-1
initial-cluster-state: new
node3.yml
name: node3
data-dir: /data/etcd/node3
listen-client-urls: 'http://192.168.73.222:9006'
advertise-client-urls: 'http://192.168.73.222:9006'
listen-peer-urls: 'http://192.168.73.222:9005'
initial-advertise-peer-urls: 'http://192.168.73.222:9005'
initial-cluster: node1=http://192.168.73.222:9001,node2=http://192.168.73.222:9003,node3=http://192.168.73.222:9005
initial-cluster-token: etcd-cluster-1
initial-cluster-state: new

配置文件参数解析

name: node3
data-dir: /data/etcd/node3
listen-client-urls: 'http://192.168.73.222:9006'
advertise-client-urls: 'http://192.168.73.222:9006'
listen-peer-urls: 'http://192.168.73.222:9005'
initial-advertise-peer-urls: 'http://192.168.73.222:9005'
initial-cluster: node1=http://192.168.73.222:9001,node2=http://192.168.73.222:9003,node3=http://192.168.73.222:9005
initial-cluster-token: etcd-cluster-1
initial-cluster-state: new

启动3个节点

nohup /data/etcd/etcd/etcd  --config-file=/data/etcd/node1/node1.yml >> /data/etcd/node1.log &
nohup /data/etcd/etcd/etcd  --config-file=/data/etcd/node2/node2.yml >> /data/etcd/node2.log &
nohup /data/etcd/etcd/etcd  --config-file=/data/etcd/node3/node3.yml >> /data/etcd/node3.log &

查看集群状态

/data/etcd/etcd/etcdctl --endpoints http://192.168.73.222:9002,http://192.168.73.222:9004,http://192.168.73.222:9006 member list
/data/etcd/etcd/etcdctl --endpoints http://192.168.73.222:9002,http://192.168.73.222:9004,http://192.168.73.222:9006  endpoint health
/data/etcd/etcd/etcdctl --endpoints http://192.168.73.222:9002,http://192.168.73.222:9004,http://192.168.73.222:9006  endpoint status

etcd备份脚本

# etcd-bak.sh
#!/usr/bin/env bash

date;
ENDPOINTS="http://192.168.73.222:9001"
ETCDCTL_API=3 /data/etcd/etcd/etcdctl \
--endpoints=${ENDPOINTS} \
snapshot save /data/etcdbak/etcd-data-`date +%Y%m%d%H%M%S`.db

# 备份保留30天
find /data/etcdbak/ -name *.db -mtime +30 -exec rm -f {} \;

etcd数据恢复

停止etcd
ps -ef |grep etcd|grep -v grep|awk '{print $2}'|xargs kill -9
导入数据,如下
ETCDCTL_API=3 /data/etcd/etcd/etcdctl snapshot restore /data/etcdbak/etcd-data-20210608180220.db  \
--name node1 \
--data-dir /data/etcd/node11  \
--initial-advertise-peer-urls http://192.168.73.222:9001 \
--initial-cluster 'node1=http://192.168.73.222:9001,node2=http://192.168.73.222:9003,node3=http://192.168.73.222:9005' \
--initial-cluster-token etcd-cluster-1 
ETCDCTL_API=3 /data/etcd/etcd/etcdctl snapshot restore /data/etcdbak/etcd-data-20210608180220.db  \
--name node2 \
--data-dir /data/etcd/node22  \
--initial-advertise-peer-urls http://192.168.73.222:9003 \
--initial-cluster 'node1=http://192.168.73.222:9001,node2=http://192.168.73.222:9003,node3=http://192.168.73.222:9005' \
--initial-cluster-token etcd-cluster-1 
ETCDCTL_API=3 /data/etcd/etcd/etcdctl snapshot restore /data/etcdbak/etcd-data-20210608180220.db  \
--name node3 \
--data-dir /data/etcd/node33  \
--initial-advertise-peer-urls http://192.168.73.222:9005 \
--initial-cluster 'node1=http://192.168.73.222:9001,node2=http://192.168.73.222:9003,node3=http://192.168.73.222:9005' \
--initial-cluster-token etcd-cluster-1 
更改启动文件中data-dir为导入时的目录
node1.yml
name: node1
data-dir: /data/etcd/node11 
listen-client-urls: 'http://192.168.73.222:9002'
advertise-client-urls: 'http://192.168.73.222:9002'
listen-peer-urls: 'http://192.168.73.222:9001'
initial-advertise-peer-urls: 'http://192.168.73.222:9001'
initial-cluster: node1=http://192.168.73.222:9001,node2=http://192.168.73.222:9003,node3=http://192.168.73.222:9005
initial-cluster-token: etcd-cluster-1
initial-cluster-state: new
node2.yml
name: node2
data-dir: /data/etcd/node22 
listen-client-urls: 'http://192.168.73.222:9004'
advertise-client-urls: 'http://192.168.73.222:9004'
listen-peer-urls: 'http://192.168.73.222:9003'
initial-advertise-peer-urls: 'http://192.168.73.222:9003'
initial-cluster: node1=http://192.168.73.222:9001,node2=http://192.168.73.222:9003,node3=http://192.168.73.222:9005
initial-cluster-token: etcd-cluster-1
initial-cluster-state: new
node3.yml
name: node3
data-dir: /data/etcd/node33
listen-client-urls: 'http://192.168.73.222:9006'
advertise-client-urls: 'http://192.168.73.222:9006'
listen-peer-urls: 'http://192.168.73.222:9005'
initial-advertise-peer-urls: 'http://192.168.73.222:9005'
initial-cluster: node1=http://192.168.73.222:9001,node2=http://192.168.73.222:9003,node3=http://192.168.73.222:9005
initial-cluster-token: etcd-cluster-1
initial-cluster-state: new
启动etcd
nohup /data/etcd/etcd/etcd  --config-file=/data/etcd/node1/node1.yml >> /data/etcd/node1.log &
nohup /data/etcd/etcd/etcd  --config-file=/data/etcd/node2/node2.yml >> /data/etcd/node2.log &
nohup /data/etcd/etcd/etcd  --config-file=/data/etcd/node3/node3.yml >> /data/etcd/node3.log &
查看集群状态
/data/etcd/etcd/etcdctl --endpoints http://192.168.73.222:9002,http://192.168.73.222:9004,http://192.168.73.222:9006 member list
/data/etcd/etcd/etcdctl --endpoints http://192.168.73.222:9002,http://192.168.73.222:9004,http://192.168.73.222:9006  endpoint health
/data/etcd/etcd/etcdctl --endpoints http://192.168.73.222:9002,http://192.168.73.222:9004,http://192.168.73.222:9006  endpoint status
查看etcd中的key值
/data/etcd/etcd/etcdctl --endpoints http://192.168.73.222:9002,http://192.168.73.222:9004,http://192.168.73.222:9006 get  --prefix / |wc -l

文章来源地址https://www.toymoban.com/news/detail-798495.html

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

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

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

相关文章

  • 数据备份与恢复

    按照 数据库服务状态 分为: 冷备份:在备份时暂停数据库运行和服务,将整个数据库复制到备份设备中 热备份:在备份时不停止数据库的运行和服务 按照 备份的数据 分为: 物理备份:备份数据库服务器上存储的原始数据和文件,可以直接拷贝和恢复 逻辑备份:备份的是

    2024年01月20日
    浏览(40)
  • MySQL 数据备份和数据恢复

    目录 一、数据备份 1、概述 2、MySQLdump命令备份 1)备份单个数据库中的所有表 2) 备份数据中某个或多个表 3) 备份所有数据库 4)备份多个库 5) 只备份一个表或多个表结构 二、数据恢复 三、数据备份与恢复应用 1、概述 数据备份是数据库管理员非常重要的工作之一。系统意

    2024年02月11日
    浏览(42)
  • 小米数据恢复:有无备份从小米手机恢复删除数据方法

    如果您不小心删除了小米手机上的数据,后来发现您需要它,那么本文适合您。我将向您介绍一些最可靠的小米恢复方法,以将您的数据恢复到您的设备上。无论您是否有备份,都可以处理。让我们开始吧! 1.从小米云恢复已删除的数据 与大多数智能手机公司一样,小米也提

    2024年02月09日
    浏览(48)
  • MySQL数据备份与恢复

    备份的主要目的: 备份的主要目的是:灾难恢复,备份还可以测试应用、回滚数据修改、查询历史数据、审计等。 日志: MySQL 的日志默认保存位置为: ##配置文件 ##通用查询日志,用来记录MySQL的所有连接和语句,默认是关闭的 ##二进制日志(binlog),用来记录所有更新了数据

    2024年02月11日
    浏览(47)
  • 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日
    浏览(39)
  • ElasticSearch 数据备份与恢复

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

    2024年02月10日
    浏览(40)
  • MySQL 数据备份与恢复

    本次使用的MySQL版本为8.0.20 目录 一、数据备份 1.使用 MySQLdump 命令备份 (1)使用MySQLdump备份单个数据库中的所有表 案例:完成数据插入后,输入备份命令如下: (2)使用MySQLdump备份数据库中的某个表 案例:备份booksDB数据库中的books表,输入语句如下: (3)使用MySQLdump备

    2024年02月11日
    浏览(43)
  • Vault数据备份恢复-MySQL

    Vault提供了可靠的功能来保护数据库和其他关键数据。 对于MySQL数据库,Vault提供了一个易于使用的解决方案,可以自动创建和管理定期备份,并支持从备份中快速恢复数据。本文将介绍Vault后端存储MySQL的备份恢复,包括如何设置Vault、如何进行数据备份和还原、如何保护备份

    2024年02月14日
    浏览(39)
  • 06.Oracle数据备份与恢复

    01.CentOS7静默安装oracle11g 02.Oracle的启动过程 03.从简单的sql开始 04.Oracle的体系架构 05.Oracle数据库对象 06.Oracle数据备份与恢复 07.用户和权限管理 08.Oracle的表 09.Oracle表的分区 10.Oracle的同义词与序列 11.Oracle的视图 12.Oracle的索引 13.Oracle通过JDBC连接Java 14.Oracle中的事务 15.Oracle11g的

    2024年02月05日
    浏览(44)
  • Elasticsearch 的数据备份和恢复

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

    2024年02月08日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包