架构师面试题库1—etcd高可用集群搭建(代码片段)

LexSaints LexSaints     2023-03-09     227

关键词:

环境准备

操作系统:CentOS7

搭建一个三节点的etcd集群

机器名:etcd01 IP地址:192.168.154.133

机器名:etcd03 IP地址:192.168.154.145

机器名:etcd04 IP地址:192.168.154.146

etcd包下载安装

1、下载

https://github.com/etcd-io/etcd/releases/download/v3.3.1/etcd-v3.3.1-linux-amd64.tar.gz

2.复制二进制命令 到/usr/local/bin

#解压软件包
tar -zxvf etcd-v3.3.1-linux-amd64.tar.gz

#将命令复制进环境
cd etcd-v3.3.1-linux-amd64
cp etcd etcdctl /usr/local/bin/

3.在三个节点中创建数据目录

#创建数据存储路径
mkdir -p /var/lib/etcd

4.在每个节点上创建etcd的systemd unit文件

vim /usr/lib/systemd/system/etcd.service #如果没有system目录则新创建一个


三个节点配置如下:注意IP地址相关配置

etcd01

#etcd01节点

[Unit]
Description=etcd server
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
WorkingDirectory=/var/lib/etcd/
ExecStart=/usr/local/bin/etcd --name etcd01 --initial-advertise-peer-urls http://192.168.154.133:2380 --listen-peer-urls http://192.168.154.133:2380 --listen-cli
ent-urls http://192.168.154.133:2379,http://127.0.0.1:2379 --advertise-client-urls http://192.168.154.133:2379 --initial-cluster-token etcd-cluster-1 --initial-c
luster etcd03=http://192.168.154.145:2380,etcd04=http://192.168.154.146:2380,etcd01=http://192.168.154.133:2380  --initial-cluster-state new --data-dir=/var/lib/
etcd

Restart=on-failure
RestartSec=5
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target                        

etcd03节点

vim /usr/lib/systemd/system/etcd.service #如果没有system目录则新创建一个
#etcd03节点

[Unit]
Description=etcd server
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
WorkingDirectory=/var/lib/etcd/
ExecStart=/usr/local/bin/etcd --name etcd03 --initial-advertise-peer-urls http://192.168.154.145:2380 --listen-peer-urls http://192.168.154.145:2380 --listen-cli
ent-urls http://192.168.154.145:2379,http://127.0.0.1:2379 --advertise-client-urls http://192.168.154.145:2379 --initial-cluster-token etcd-cluster-1 --initial-c
luster etcd03=http://192.168.154.145:2380,etcd04=http://192.168.154.146:2380,etcd01=http://192.168.154.133:2380  --initial-cluster-state new --data-dir=/var/lib/
etcd

Restart=on-failure
RestartSec=5
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

etcd04节点

vim /usr/lib/systemd/system/etcd.service #如果没有system目录则新创建一个
#etcd04节点

[Unit]
Description=etcd server
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
WorkingDirectory=/var/lib/etcd/
ExecStart=/usr/local/bin/etcd --name etcd04 --initial-advertise-peer-urls http://192.168.154.146:2380 --listen-peer-urls http://192.168.154.146:2380 --listen-cli
ent-urls http://192.168.154.146:2379,http://127.0.0.1:2379 --advertise-client-urls http://192.168.154.146:2379 --initial-cluster-token etcd-cluster-1 --initial-c
luster etcd03=http://192.168.154.145:2380,etcd04=http://192.168.154.146:2380,etcd01=http://192.168.154.133:2380  --initial-cluster-state new --data-dir=/var/lib/
etcd

Restart=on-failure
RestartSec=5
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target                   


4.开启etcd服务:三个节点分别执行

systemctl daemon-reload && systemctl enable etcd && systemctl start etcd

5.相关查看命令

systemctl status etcd.service #查看运行状态

# 节点的服务运行状态

● etcd.service - etcd server
   Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; vendor preset: disabled)
   Active: active (running) since 三 2022-01-19 18:17:23 CST; 1h 29min ago
 Main PID: 4190 (etcd)
   Memory: 13.8M
   CGroup: /system.slice/etcd.service
           └─4190 /usr/local/bin/etcd --name etcd04 --initial-advertise-peer-urls http://192.168.154.146:2380 --listen-peer-urls http://192.168.154.146:2380 -...

1月 19 18:17:23 etcd04 etcd[4190]: serving insecure client requests on 192.168.154.146:2379, this is strongly discouraged!
1月 19 18:17:23 etcd04 etcd[4190]: set the initial cluster version to 3.0
1月 19 18:17:23 etcd04 etcd[4190]: enabled capabilities for version 3.0
1月 19 18:17:24 etcd04 etcd[4190]: peer f5cee01588336622 became active
1月 19 18:17:24 etcd04 etcd[4190]: established a TCP streaming connection with peer f5cee01588336622 (stream Message writer)
1月 19 18:17:24 etcd04 etcd[4190]: established a TCP streaming connection with peer f5cee01588336622 (stream MsgApp v2 writer)
1月 19 18:17:24 etcd04 etcd[4190]: established a TCP streaming connection with peer f5cee01588336622 (stream Message reader)
1月 19 18:17:24 etcd04 etcd[4190]: established a TCP streaming connection with peer f5cee01588336622 (stream MsgApp v2 reader)
1月 19 18:17:27 etcd04 etcd[4190]: updated the cluster version from 3.0 to 3.3
1月 19 18:17:27 etcd04 etcd[4190]: enabled capabilities for version 3.3

etcdctl member list #查看集群中各个节点

#查看集群各节点

[root@etcd01 etcd]# etcdctl member list                      
23795efc1fd09208: name=etcd01 peerURLs=http://192.168.154.133:2380 clientURLs=http://192.168.154.133:2379 isLeader=true
5789f6b3099dcd29: name=etcd04 peerURLs=http://192.168.154.146:2380 clientURLs=http://192.168.154.146:2379 isLeader=false
f5cee01588336622: name=etcd03 peerURLs=http://192.168.154.145:2380 clientURLs=http://192.168.154.145:2379 isLeader=false

etcdctl cluster-health #查看集群的健康情况

[root@etcd01 etcd]# etcdctl cluster-health
member 23795efc1fd09208 is healthy: got healthy result from http://192.168.154.133:2379
member 5789f6b3099dcd29 is healthy: got healthy result from http://192.168.154.146:2379
member f5cee01588336622 is healthy: got healthy result from http://192.168.154.145:2379

 推荐阅读

【资源推荐】

python实战

【pygame开发实战开发30例 完整源码】

【pygame游戏开发专栏,获取完整源码+教程】

linux企业运维——k8s高可用集群架构搭建详解(代码片段)

K8s高可用集群文章目录K8s高可用集群一、K8s高可用集群架构原理二、实验环境三、K8s高可用集群架构搭建3.1、负载均衡Loadbalancer部署—haproxy3.2、Docker部署3.3、K8s集群部署3.4、K8s集群添加worker节点四、集群高可用性能测试一、K8s... 查看详情

linux企业运维——k8s高可用集群架构搭建详解(代码片段)

K8s高可用集群文章目录K8s高可用集群一、K8s高可用集群架构原理二、实验环境三、K8s高可用集群架构搭建3.1、负载均衡Loadbalancer部署—haproxy3.2、Docker部署3.3、K8s集群部署3.4、K8s集群添加worker节点四、集群高可用性能测试一、K8s... 查看详情

云原生|kubernetes篇自建高可用k8s集群搭建(代码片段)

文末有惊喜文章目录自建高可用k8s集群搭建一、所有节点基础环境1、环境准备与内核升级2、安装Docker二、PKI三、证书工具准备1、下载证书工具2、ca根配置3、ca签名请求4、生成证书5、k8s集群是如何使用证书的四、etcd高可用搭建... 查看详情

kubernetes集群部署之多master节点实现高可用(代码片段)

目录前言一、K8sMaster高可用架构二、在单Master节点基础上搭建多Master集群架构2.1环境准备与搭建步骤2.2首先部署Master02节点2.2.1从Master01节点上拷贝`etcd证书文件`、各Master组件的`配置文件`和`服务管理文件`到Maste... 查看详情

kubernetes集群部署之多master节点实现高可用(代码片段)

目录前言一、K8sMaster高可用架构二、在单Master节点基础上搭建多Master集群架构2.1环境准备与搭建步骤2.2首先部署Master02节点2.2.1从Master01节点上拷贝`etcd证书文件`、各Master组件的`配置文件`和`服务管理文件`到Maste... 查看详情

redis集群高可用架构(代码片段)

Redis集群高可用架构1、Redis高可用集群1.1、Redis高可用集群模式和哨兵模式方案比较1.2、Redis高可用集群搭建2、Java操作Redis集群3、Redis集群原理分析3.1、槽位定位算法3.2、跳转重定位3.3、Redis集群节点间的通信机制3.4、Redis集群选... 查看详情

kubernetes高可用集群二进制部署(代码片段)

Kubernetes高可用集群二进制部署Kubernetes高可用集群二进制部署一、集群环境准备1.1主机规划1.2软件版本1.3网络分配二、集群部署2.1主机准备2.1.1主机名设置2.1.2主机与IP地址解析2.1.3主机安全设置2.1.3.1关闭防火墙2.1.3.2关闭selinux2.1.4... 查看详情

dockerswarm搭建docker高可用集群(代码片段)

...项目环境3、项目描述4、项目步骤1.规划设计整个集群的架构、网络拓扑,安装7台CentOS7.6的系统,按照规划配置好每台linux的IP,准备好Docker环境,搭建swarm集群2、使用Volume(挂载目录到NF 查看详情

微服务架构eureka集群高可用配置(代码片段)

工具:idea环境:java8、maven3版本:springboot 1.5.15.RELEASE1.搭建springbooteureka项目 2.pom.xml添加相应依赖,如下:<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmln 查看详情

『mongodb』mongodb高可用部署架构——分片集群篇(sharding)(代码片段)

...使用分片Mongodb分片集群有哪些特点Mongodb分片集群的完整架构Mongodb分片集群数据分布方式Mongodb分片集群的设计思路Mongodb分片集群搭建及扩容这篇文章强烈建议收藏!!!免得下次找不到文章目录一、初识分片集群1为... 查看详情

mha高可用集群部署(代码片段)

MHA高可用集群部署一.MHA1.概述2.MHA的组成1)HMAManager(管理节点)2)MHANode(数据节点)3.MHA特点二.搭建Mysql+MHA1.实验思路1)MHA架构2)故障模拟实验准备:2.修改mysql节点名mysql1(192.168.133.20)mysql2(19 查看详情

k8s高可用环境部署-1.17.3版本(代码片段)

准备在开始部署k8s高可用集群时,请先参考k8s高可用环境部署系统准备操作系统兼容性环境说明集群部署前系统环境装备,请参考k8s高可用环境部署系统准备.md本次高可用集群基本参照官网步骤进行部署,官网给出了两种拓扑结... 查看详情

linux云计算-mysql-高可用集群架构-mha架构(代码片段)

文章目录部署MHA高可用集群mysql-MHA群环境说明配置所有节点的ssh免密码登录安装mha-node安装MHAManager安装mysql5.7配置mysql主从环境配置MHA管理用户配置MHAMHA配置检查实战-故障转移以及故障恢复实战-故障转移故障恢复后重新加入mysql... 查看详情

java架构师高性能高并发高可用高可扩展性能优化集群电商网站架构

15套java架构师、集群、高可用、高可扩展、高性能、高并发、性能优化、Springboot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战视频教程 视频课程内容包含:高级Java架构师包含:Springboot、Spring cloud、Dubbo、Redi... 查看详情

rabbitmq---集群,haproxy+keepalive实现高可用负载均衡,federationexchange和federationqueue(代码片段)

...policy(策略)测试Haproxy+Keepalive实现高可用负载均衡整体架构图Haproxy实现负载均衡搭建步骤Keepalived实现双机(主备)热备搭建步骤FederationExchange--联邦交换机---两地数据同步联邦交换机诞生的原因搭建步骤Fede 查看详情

zabbix高可用搭建--数据库集群(代码片段)

一、数据mariadb集群搭建分为两个内容1、负载均衡搭建2、mariadbgaleracluster二、负载均衡搭建负载均衡集群是loadbalance集群的简写,翻译成中文就是负载均衡集群。常用的负载均衡开源软件有nginx、lvs、haproxy,商业的硬件负载均衡... 查看详情

高可用集群篇--k8s快速入门及集群部署(代码片段)

...使用Kubernetes1.1.3Kubernetes不是什么1.1.4Kubernetes工作示例1.2架构原理&核心概念1.2.1整体主从方式1.2.2Master节点架构1.2.3Node节点架构1.3完整概念1.4流程叙述二、k 查看详情

redis高可用架构之cluster集群和分⽚(代码片段)

高可用架构之Cluster集群和分⽚1.前言2.Cluster模式介绍2.1什么是Cluster模式?2.2为什么需要Cluster模式?2.2.1垂直拓展(scaleup)和水平拓展(scaleout)2.2.2RedisCluster提供的好处2.2.3RedisCluster和replication+sentinel如... 查看详情