etcd集群搭建

简介: etcd集群搭建

etcd是由一家位于旧金山的初创公司CoreOS公司(现已被Red Hat收购)于2013年6月发起的开源项目,旨在构建一个高可用的分布式键值(key-value)存储系统。CoreOS系统通过etcd来解决分布式系统配置信息共享、服务发现等问题。

etcd这个名字由两部分组成:etc和d,即UNIX/Linux操作系统的“/etc”目录和分布式(distributed)首字母的“d”。我们都知道,/etc目录一般用于存储UNIX/Linux操作系统的配置信息,因此etc和d合起来就是一个分布式的/etc目录。由此可见,etcd的寓意是为大规模分布式系统存储配置信息。

一个etcd集群要求有三个节点,配置相对简单,记录如下(以v3.5.9为例):

例子中三台服务器的IP地址:192.168.0.1、192.168.0.2、192.168.0.3

一、下载及安装

wget https://github.com/etcd-io/etcd/releases/download/v3.5.9/etcd-v3.5.9-linux-amd64.tar.gz
tar xvf etcd-v3.5.9-linux-amd64.tar.gz
mv etcd-v3.5.9-linux-amd64 /usr/local/etcd
#查看etcd版本/usr/local/etcd/etcd -–version
/usr/local/etcd/etcdctl version

二、配置

cd /usr/local/etcd
vi etcd.yaml

参数

name

[node01][node02][node03]三个节点分别配置不同的值

data-dir

/data/etcd

listen-client-urls

http://0.0.0.0:2379

advertise-client-urls

http://[本机IP地址]:2379

listen-peer-urls

http://[本机IP地址]:2380

initial-advertise-peer-urls

http://[本机IP地址]:2380

initial-cluster

node01=http://[node01 IP地址]:2380,

node02=http://[node02 IP地址]:2380,

node03=http://[node03 IP地址]:2380

initial-cluster-token

etcd-pg-cluster

initial-cluster-state

new

node1(192.168.0.1)配置文件:

name: 'node01'data-dir: '/data/etcd'listen-client-urls: 'http://0.0.0.0:2379'advertise-client-urls: 'http://192.168.0.1:2379'listen-peer-urls: 'http://192.168.0.1:2380'initial-advertise-peer-urls: 'http://192.168.0.1:2380'initial-cluster: 'node01=http://192.168.0.1:2380,node02=http://192.168.0.2:2380,node03=http://192.168.0.3:2380'

node2(192.168.0.2)配置文件:

name: 'node02'data-dir: '/data/etcd'listen-client-urls: 'http://0.0.0.0:2379'advertise-client-urls: 'http://192.168.0.2:2379'listen-peer-urls: 'http://192.168.0.2:2380'initial-advertise-peer-urls: 'http://192.168.0.2:2380'initial-cluster: 'node01=http://192.168.0.1:2380,node02=http://192.168.0.2:2380,node03=http://192.168.0.3:2380'

node3(192.168.0.3)配置文件:

name: 'node01'data-dir: '/data/etcd'listen-client-urls: 'http://0.0.0.0:2379'advertise-client-urls: 'http://192.168.0.3:2379'listen-peer-urls: 'http://192.168.0.3:2380'initial-advertise-peer-urls: 'http://192.168.0.3:2380'initial-cluster: 'node01=http://192.168.0.1:2380,node02=http://192.168.0.2:2380,node03=http://192.168.0.3:2380'

三、启动etcd

etcd –config-file=/usr/local/etcd/etcd.yaml &

四、验证etcd

etcdctl endpoint status --endpoints=http://192.168.0.1:2380,http://192.168.0.2:2380,http://192.168.0.3:2380 -w table

验证无误后,可通过systemd开机启动

# vi /lib/systemd/system/etcd.servce[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
WorkingDirectory=/usr/local/etcd/
EnvironmentFile=-/usr/local/etcd/etcd.yaml
User=runner
# set GOMAXPROCS to number of processorsRestart=on-failure
LimitNOFILE=65536ExecStart=/usr/local/etcd/etcd --config-file=/usr/local/etcd/etcd.yaml
[Install]
WantedBy=multi-user.target
# systemctl enable etcd.service# systemctl start etcd# systemctl status etcd




相关文章
|
存储 关系型数据库 数据库
用Patroni配置PostgreSQL高可用集群
Patroni是Zalando开发的数据库高可用管理软件,用于编排和自动化PostgreSQL集群的管理过程。Patroni 需要一系列其他组件的支持,通过利用第三方分布式一致性软件,组建并实现数据库高可用方案。
用Patroni配置PostgreSQL高可用集群
|
Shell 网络安全 文件存储
Tailscale:随时随地远程和使用服务器
Tailscale:随时随地远程和使用服务器
|
存储 Kubernetes 算法
云原生|kubernetes|etcd集群详细介绍+安装部署+调优(一)
云原生|kubernetes|etcd集群详细介绍+安装部署+调优(一)
1770 0
云原生|kubernetes|etcd集群详细介绍+安装部署+调优(一)
|
缓存 负载均衡 关系型数据库
Pgpool-II实现高可用+读写分离+负载均衡(一)---- 规划及安装
Pgpool-II是一款工作在PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件。提供了连接池、复制、负载均衡、限制过多连接、看门狗、查询缓存等功能。
|
消息中间件 Java Apache
RocketMQ5.0 搭建 Name Server And Broker+Proxy 同进程部署、搭建RocketMQ控制台图形化界面
RocketMQ5.0 搭建 Name Server And Broker+Proxy 同进程部署、搭建RocketMQ控制台图形化界面
2300 0
|
Kubernetes 应用服务中间件 nginx
k8s学习--k8s集群使用容器镜像仓库Harbor
本文介绍了在CentOS 7.9环境下部署Harbor容器镜像仓库,并将其集成到Kubernetes集群的过程。环境中包含一台Master节点和两台Node节点,均已部署好K8s集群。首先详细讲述了在Harbor节点上安装Docker和docker-compose,接着通过下载Harbor离线安装包并配置相关参数完成Harbor的部署。随后介绍了如何通过secret和serviceaccount两种方式让Kubernetes集群使用Harbor作为镜像仓库,包括创建secret、配置节点、上传镜像以及创建Pod等步骤。最后验证了Pod能否成功从Harbor拉取镜像运行。
1758 0
|
Kubernetes 数据库 容器
k8s快速部署xxl-job
k8s快速部署xxl-job
1607 3
|
JSON API Go
etcd的安装和使用
etcd的安装和使用
408 0
|
存储 网络安全 数据安全/隐私保护
Docker--harbor私有仓库部署与管理
Docker--harbor私有仓库部署与管理
Docker--harbor私有仓库部署与管理
|
关系型数据库 API 数据库
基于Patroni的PostgreSQL高可用环境部署
在部署PostgreSQL到生产环境中时,选择适合的高可用方案是一项必不可少的工作。本文介绍基于Patroni的PostgreSQL高可用的部署方法,供大家参考。
7879 1