etcd 集群配置部署

 

集群硬件配置要求

https://coreos.com/etcd/docs/latest/op-guide/hardware.html

CPUs:普通集群 2-4 个核就可以运行得很流畅。压力很大的集群,服务几千个client或者需要每秒处理上万个请求时,需要 8-16 个核来处理 etcd 请求。

Memory:一般 8G 内存即可。大压力的集群需要 16G-64G 的内存。

Disks:快速的磁盘是 etcd 集群性能与稳定性最重要的因素。最基本的 50 顺序 IOPS(7200 RPM 磁盘)是需要的。大压力的集群,需要 500 顺序 IOPS (典型的本地 SSD 盘)。

建议使用 SSD 盘。 

etcd 集群部署

etcd 部署二进制文件下载:https://github.com/coreos/etcd/releases   

etcd 3.2.9 版:

etcd-v3.2.9-linux-amd64.tar.gz

9.71MB

解压后,将解压路径加入 path,二进制文件 etcd 和 etcdctl 可以运行即可。

集群启动脚本

假设在 10.20.221.93,10.20.221.94,10.20.221.95 三台机器部署 3 节点 etcd 集群

etcd节点1启动:

在机器 10.20.221.93 创建目录 /home/etcd/node0/data,保存 etcd 节点数据, /home/etcd/node0/log,保存日志

准备第一个节点启动脚本   etcd0.sh

#!/bin/bash 

etcd  --name etcd0 --data-dir  /home/etcd/node0/data --advertise-client-urls http://10.20.221.93:2379,http://10.20.221.93:4001 --listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 --initial-advertise-peer-urls http://10.20.221.93:2380 --listen-peer-urls http://0.0.0.0:2380 --initial-cluster-token etcd-cluster-1 --initial-cluster etcd0=http://10.20.221.93:2380,etcd1=http://10.20.221.94:2380,etcd2=http://10.20.221.95:2380 --initial-cluster-state new > /home/etcd/node0/log/etcd.log 2>&1

启动节点:执行  nohup  ./etcd0.sh  &

etcd节点2启动:

在机器 10.20.221.94 创建目录 /home/etcd/node1/data,保存 etcd 节点数据, /home/etcd/node1/log,保存日志

准备第一个节点启动脚本   etcd1.sh

#!/bin/bash 

etcd  --name etcd1 --data-dir  /home/etcd/node1/data --advertise-client-urls http://10.20.221.94:2379,http://10.20.221.94:4001 --listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 --initial-advertise-peer-urls http://10.20.221.94:2380 --listen-peer-urls http://0.0.0.0:2380 --initial-cluster-token etcd-cluster-1 --initial-cluster etcd0=http://10.20.221.93:2380,etcd1=http://10.20.221.94:2380,etcd2=http://10.20.221.95:2380 --initial-cluster-state new > /home/etcd/node1/log/etcd.log 2>&1

启动节点:执行  nohup  ./etcd1.sh  &

etcd节点3启动:

在机器 10.20.221.95 创建目录 /home/etcd/node2/data,保存 etcd 节点数据, /home/etcd/node2/log,保存日志

准备第一个节点启动脚本   etcd2.sh

#!/bin/bash 

etcd  --name etcd2 --data-dir  /home/etcd/node2/data --advertise-client-urls http://10.20.221.95:2379,http://10.20.221.95:4001 --listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 --initial-advertise-peer-urls http://10.20.221.95:2380 --listen-peer-urls http://0.0.0.0:2380 --initial-cluster-token etcd-cluster-1 --initial-cluster etcd0=http://10.20.221.93:2380,etcd1=http://10.20.221.94:2380,etcd2=http://10.20.221.95:2380 --initial-cluster-state new > /home/etcd/node2/log/etcd.log 2>&1

启动节点:执行  nohup  ./etcd2.sh  &

etcd 启动参数说明:

name:etcd 集群中的节点名,不重复即可

data-dir:存放数据目录,节点ID,集群ID,Snapshot文件,集群初始化配置,WAL 文件

listen-peer-urls:监听的用于节点之间通信的url,可监听多个,集群内部将通过这些url进行数据交互(如选举,数据同步等)

initial-advertise-peer-urls :建议用于节点之间通信的url,节点间将以该值进行通信。

listen-client-urls :监听的用于客户端通信的url,同样可以监听多个

advertise-client-urls :建议使用的客户端通信url,该值用于etcd代理或etcd成员与etcd节点通信

initial-cluster-token:节点的token值,设置该值后集群将生成唯一id,并为每个节点也生成唯一id,当使用相同配置文件再启动一个集群时,只要该token值不一样,etcd集群就不会相互影响

initial-cluster :也就是集群中所有的initial-advertise-peer-urls 的合集

--initial-cluster-state new:新建集群的标志

部分 etcdctl 命令使用:

etcdctl member list       查看集群成员

etcdctl cluster-health    检查集群健康状态

etcdctl version             查看版本

ectdctl put foo bar       设置 key value

etcdctl get foo              获取某个key的value

etcdctl watch foo         

etcdctl lease grant 10

etcdctl put foo bar —lease=1234abcd  设置租期为 10s

etcdctl lease keep-alive 1234abcd    刷新租期

etcdctl lease revoke 1234abcd

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值