ETCD节点故障恢复
我在微服务组里面主要负责配置中心的构建,我们的配置中心使用到了ETCD。在我们的内网环境中搭建了三个节点的ETCD,不过这三个节点的ETCD都搭建在同一台机器上。后来机器资源不够了系统直接kill了ETCD,导致内网的ETCD三个节点全部挂掉了。刚开始想逐个启动就完事了,但是按照之前的data-dir启动之后发现三个节点握手存在问题,原因是三个节点缓存数据的data目录里面都有节点以及数据信息,导致握手不成功。网上查了一些资料后发现这应该算是一次故障的恢复,解决方案是先以挂掉之前的一个节点为基础启动只有一个节点的集群,然后往这个集群中添加新节点等待数据同步。事实上,ETCD分开部署挂半数以下还是可以正常访问的,这次全挂了相当于从备份数据中恢复。
下面是执行恢复的具体命令:
etcd --data-dir=data.etcd2 --name machine-2 --initial-advertise-peer-urls http://127.0.0.1:12380 --listen-peer-urls http://127.0.0.1:12380 --advertise-client-urls http://10.1.45.52:12379 --listen-client-urls http://10.1.41.52:12379,http://127.0.0.1:2379 --initial-cluster machine-2=http://127.0.0.1:12380 --initial-cluster-token token-token --initial-cluster-state new --force-new-cluster >> /var/log/etcd/machine-2 2>&1 &
rm -rf data.etcd3
etcdctl member list
etcdctl member add machine-3 http://127.0.0.1:22380
etcd --data-dir=data.etcd3 --name machine-3 --initial-advertise-peer-urls http://127.0.0.1:22380 --listen-peer-urls http://127.0.0.1:22380 --advertise-client-urls http://10.1.41.52:22379 --listen-client-urls http://10.1.41.52:22379 --initial-cluster machine-2=http://127.0.0.1:12380,machine-3=http://127.0.0.1:22380 --initial-cluster-state existing --initial-cluster-token token-token >> /var/log/etcd/machine-3 2>&1 &
rm -rf data.etcd1
etcdctl member list
etcdctl member add machine-1 http://127.0.0.1:2380
etcd --data-dir=data.etcd1 --name machine-1 --initial-advertise-peer-urls http://127.0.0.1:2380 --listen-peer-urls http://127.0.0.1:2380 --advertise-client-urls http://10.1.41.52:2379 --listen-client-urls http://10.1.41.52:2379 --initial-cluster machine-2=http://127.0.0.1:12380,machine-3=http://127.0.0.1:22380,machine-1=http://127.0.0.1:2380 --initial-cluster-state existing --initial-cluster-token token-token >> /var/log/etcd/machine-1 2>&1 &
总计部署了三个节点,节点缓存数据的目录分别是data.etcd1、data.etcd2、data.etcd3。我是删除 data.etcd1、data.etcd3目录保留data.etcd2目录,然后用data.etcd2为基础进行恢复的。
当时着急恢复就没有记录报错信息,先记录一下我恢复一下现场把详细的报错信息补充上
ETCD节点故障恢复的更多相关文章
- etcd节点扩容至两个节点
本篇已经安装了单个etcd,然后进行扩容etcd节点至2个,安装单节点请参照:https://www.cnblogs.com/effortsing/p/10295261.html 实验架构 test1 ...
- k8s二进制部署 - etcd节点安装
下载etcd [root@hdss7-12 ~]# useradd -s /sbin/nologin -M etcd [root@hdss7-12 ~]# cd /opt/src/ [root@hds ...
- Mongodb集群节点故障恢复场景分析
http://blog.csdn.net/zhangzhaokun/article/details/6299527 一个适当配置的Mongodb分片集群是没有单点故障. 本文描述了分片集群中存在的几种 ...
- Mongodb集群节点故障恢复场景分析(转)
一个适当配置的Mongodb分片集群是没有单点故障.本文描述了分片集群中存在的几种不同的潜在的节点故障场景,以及Mongodb对这些节点故障是怎么处理的.1.Mongos节点宕机一个Mongos进程应 ...
- vertica单节点故障恢复 Startup Failed, ASR Required
测试环境的vertica是单节点的,无法做到故障自动恢复,需要手工处理.案例如下: 发现5433端口连接不上,vertica挂了,手工运行admintools,重新启动vertica,仍然失败,提示: ...
- 使用Docker方式创建3节点的Etcd集群
一.简要说明 二.运行容器 三.验证集群 四.运行截图 五.参考链接 一.简要说明 参考etcd官网文档, 在node1.node2.node3三个节点上,分别运行etcd容器,创建etcd集 ...
- 001.etcd简介及单节点使用
一 etcd简介 1.1 概述 etcd 是 CoreOS 团队发起的开源项目,是一个管理配置信息和服务发现(service discovery)的项目,它的目标是构建一个高可用的分布式键值(key- ...
- ETCD 添加节点报错 tocommit(2314438) is out of range [lastIndex(0)]. Was the raft log corrupted, truncated, or lost?
生产环境中一台ETCD节点宕机之后,添加新的节点的时候出现以下错误, tocommit(2314438) is out of range [lastIndex(0)]. Was the raft lo ...
- 高可用etcd集群(三节点) + ssl双向认证
# etcd下载地址 https://github.com/etcd-io/etcd/tags wget https://github.com/etcd-io/etcd/releases/downlo ...
随机推荐
- mysql基础操作 增删改查
如何使用终端操作数据库 如何登录数据库 mysql -u用户名 -p密码 比如: mysql -uroot -p123456 如何查询数据库服务器中所有的数据库 show databases; 如何选 ...
- 快学Scala 第四课 (多维数组,与Java集合的互操作)
Scala二维数组的定义: val arr2 = Array.ofDim[String](2, 2) arr2(0)(0) = "aa" arr2(1)(0) = "bb ...
- 快学Scala 第十六课 (shell调用,正则表达式,正则表达式组,stripMargin妙用)
shell调用:(管道符前加#号,执行shell用!) import sys.process._ "ls -al" #| "grep x" ! 正则表达式:(r ...
- linux分析工具之lsof详解
一.概述 在linux中,所有东西都是以文件的形式存在的,所以我们在linux上的操作都是通过对文件的操作来执行我们所需要的逻辑,比如我们对文件数据的访问,修改,访问网络的连接等,刚好lsof(lis ...
- .NET斗鱼直播弹幕客户端(上)
现在直播平台由于弹幕的存在,主播与观众可以更轻松地进行互动,非常受年轻群众的欢迎.斗鱼TV就是一款非常流行的直播平台,弹幕更是非常火爆.看到有不少主播接入弹幕语音播报器.弹幕点歌等模块,这都需要首先连 ...
- TouchListener PK OnTouchEvent + 多点触碰
1.基于监听的TouchListener 代码示例: 实现效果图: 实现代码: main.xml <RelativeLayout xmlns:android="http://schem ...
- Loj10222佳佳的 Fibonacci
Description Analysis 10分:暴力+把m和n输反,你将获得10分的好成绩(Just like me.) 70分:暴力+把m和n输对,你将获得70分的好成绩 100分:矩阵加速 设 ...
- Flask中的渲染变量
Flask中的渲染变量 一.渲染变量 <!DOCTYPE html> <html lang="en"> <head> <meta char ...
- 浅谈爬虫 《一》 ===python
浅谈爬虫 <一> ===python ‘’正文之前先啰嗦一下,准确来说,在下还只是一个刚入门IT世界的菜鸟,工作近两年了,之前做前端的时候就想写博客来着,现在都转做python了,如果还 ...
- enable_shared_from_this
头文件<memory> enable_shared_from_this是一个模板类. 使用场景:需要把自己类对象作为参数传给其他函数时,就需要传递一个指向自身的share_ptr. str ...