etcd集群搭建
etcd的项目:https://github.com/coreos/etcd/releases/tag/v3.2.10 ,下载最新版本etcd。
系统:
etcd-1:192.168.159.129
etcd-2:192.168. 159.130
etcd-3:192.168. 159.131
1.在windows环境下下载etcd-v3.2.10-linux-amd64.tar.gz,并提供etcd命令。
通过putty或MobaXterm将压缩包上传到三个linux系统中,再进行解压。
tar –xzvf ext etcd-v3.2.10-linux-amd64.tar.gz
cd etcd-v3.2.10-linux-amd64
cp etcd etcdctl /user/local/bin/
2.在三个节点上创建etcd数据目录。
mkdir –p /var/lib/etcd
3.在每个节点上创建etcd的配置文件
首先在每个节点上创建目录和文件,sudo vi /etc/etcd/etcd.yml,打开文件进行配置。
name : etcd-1
data-dir : /var/lib/etcd
initial-advertise-peer-urls : http://192.168.159.129:2380
listen-peer-urls : http://192.168.159.129:2380
listen-client-urls : http://192.168.159.129:2379,http://127.0.0.1:2379
advertise-client-urls : http://192.168.159.129:2379,http://127.0.0.1:2379
initial-cluster-token : etcd-cluster-token
initial-cluster : etcd-2=http://192.168.159.130:2380,etcd-1=http://192.168.159.129:2380,etcd-3=http://192.168.159.131:2380
initial-cluster-state : new
name : etcd-2
data-dir : /var/lib/etcd
listen-client-urls : http://192.168.159.130:2379,http://127.0.0.1:2379
advertise-client-urls : http://192.168.159.130:2379,http://127.0.0.1:2379
listen-peer-urls : http://192.168.159.130:2380
initial-advertise-peer-urls : http://192.168.159.130:2380
initial-cluster : etcd-1=http://192.168.159.129:2380,etcd-2=http://192.168.159.130:2380,etcd-3=http://192.168.159.131:2380
initial-cluster-token : etcd-cluster-token
initial-cluster-state : new
name : etcd-3
initial-advertise-peer-urls : http://192.168.159.131:2380
listen-peer-urls : http://192.168.159.131:2380
listen-client-urls : http://192.168.159.131:2379,http://127.0.0.1:2379
advertise-client0urls : http://192.168.159.131:2379,http://127.0.0.1:2379
initial-cluster-token : etcd-cluster-token
initial-cluster : etcd-2=http://192.168.159.130:2380,etcd-1=http://192.168.159.129:2380,etcd-3=http://192.168.159.131:2380
initial-cluster-state : new
data-dir : /var/lib/etcd
系统默认的etcd版本是2.x,需要在/etc/profile 这个全局变量文件里加入export ETCDCTL_API=3
保存。
输入命令 source profile
系统重读配置文件
4.启动服务,进行测试
执行sudo etcd --config-file=/etc/etcd/etcd.yml &
命令,启动三个节点上的etcd服务。
启动成功后,进行测试。
在etcd-1上输入指令 etcdctl put xuelei 123
,在etcd-2上输入指令etcdctl get xuelei
,看etcd-2上能否获取到键值对。
5.注意
① 可以下载MobaXterm来链接Linux系统,这样可以方便执行粘贴复制。
② 可以通过MobaXterm或putty将压缩包上传到Linux系统。
③ sudo apt-get install xx 可以安装缺少的指令。
④ 在编写配置文件时注意,数据均为JSON格式,是键值对,在 : 前后需加上空格,否则会报错误。
6.etcd集群搭建必需配置参数
参数 | 描述 | 默认/推荐设置 |
---|---|---|
name | etcd实例的名称 | |
data-dir | 数据保存的路径 | |
listen-client-urls | 对外提供服务的地址 | http://ip:2379, http://127.0.0.1:2379 |
listen-peer-urls | 和同伴通讯的地址 | http://ip:2380 |
advertise-client-urls | 对外公布的该节点客户端监听地址 | http://ip:2379, http://127.0.0.1:2379 |
initial-advertise-peer-urls | 该节点同伴监听地址 | http://ip:2380 |
initial-cluster | 集群中所有节点的信息 | |
initial-cluster-token | 创建集群的token | 这个token需要在集群中保持唯一 |
initial-cluster-state | 集群状态 | 新创建集群的时候,这个值为new,已存在的集群,这个值为existing |