本次測試的系統包含centos 7.2 64 bit,centos 7.3 64 bitcentos
1. 安裝bash
yum -y install etcd
2. 配置測試
此處一共準備了3臺機器(10.10.10.100, 10.10.10.101, 10.10.10.102) url
(1) etcd服務的配置和啓動方式spa
啓用etcd服務rest
systemctl enable etcd
修改服務配置 /etc/systemd/system/multi-user.target.wants/etcd.service,其中的啓動指令(ExecStart=)code
修改配置後,裝載配置,重啓服務blog
systemctl daemon-reload
systemctl restart etcd
啓動成功後,能夠看到新增長了2個監聽端口:2379, 2380token
(2) 集羣配置get
第1個節點(10.10.10.100) (注意:第一次啓動時,--initial-cluster-state new,啓動成功後,集羣已經建立,此時需修改成 --initial-cluster-state existing。不然下次重啓服務會失敗。):
ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"etcd0\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"http://0.0.0.0:2379\" --listen-peer-urls=\"http://0.0.0.0:2380\" --advertise-client-urls=\"http://10.10.10.100:2379\" --initial-advertise-peer-urls=\"http://10.10.10.100:2380\" --initial-cluster-token=\"etcd-cluster-1\" --initial-cluster=\"etcd0=http://10.10.10.100:2380,etcd1=http://10.10.10.101:2380,etcd2=http://10.10.10.102:2380\" --initial-cluster-state new "
後面的節點能夠先手工添加信息:
etcdctl member add etcd1 http://10.10.10.101:2380
etcdctl member add etcd2 http://10.10.10.102:2380
第2個節點(10.10.10.101):
ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"etcd1\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"http://0.0.0.0:2379\" --listen-peer-urls=\"http://0.0.0.0:2380\" --advertise-client-urls=\"http://10.10.10.101:2379\" --initial-advertise-peer-urls=\"http://10.10.10.101:2380\" --initial-cluster-token=\"etcd-cluster-1\" --initial-cluster=\"etcd0=http://10.10.10.100:2380,etcd1=http://10.10.10.101:2380,etcd2=http://10.10.10.102:2380\" "
第3個節點(10.10.10.102):
ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"etcd2\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"http://0.0.0.0:2379\" --listen-peer-urls=\"http://0.0.0.0:2380\" --advertise-client-urls=\"http://10.10.10.102:2379\" --initial-advertise-peer-urls=\"http://10.10.10.102:2380\" --initial-cluster-token=\"etcd-cluster-1\" --initial-cluster=\"etcd0=http://10.10.10.100:2380,etcd1=http://10.10.10.101:2380,etcd2=http://10.10.10.102:2380\" "
啓動成功後能夠查看集羣狀態,member 列表
# etcdctl cluster-health member 17294cb126466d4d is healthy: got healthy result from http://10.10.10.100:2379 member a17abe451cf50cbd is healthy: got healthy result from http://10.10.10.101:2379 member f4a143b3a5f1cdf7 is healthy: got healthy result from http://10.10.10.102:2379 cluster is healthy
# etcdctl member list 17294cb126466d4d: name=etcd2 peerURLs=http://10.10.10.100:2380 clientURLs=http://10.28.148.46:2379 isLeader=false a17abe451cf50cbd: name=etcd0 peerURLs=http://10.10.10.101:2380 clientURLs=http://10.28.148.61:2379 isLeader=true f4a143b3a5f1cdf7: name=etcd1 peerURLs=http://10.10.10.102:2380 clientURLs=http://10.28.148.57:2379 isLeader=false