前提:请一定要选择SSD硬盘,否则不要考虑在业务上使用etcd。
地址:https://github.com/etcd-io/etcd/releases
找到3.4.3
安装路径自定义 /usr/local/etcd/
网络:应用服务器172.16.2.5跟etcd服务器映射地址互通,内网不通
集群内部使用内网地址,被应用(客户)访问使用映射地址
etcd服务器三台
内网 映射地址(可以理解为外网地址)
192.168.1.11 |172.25.2.101
192.168.1.12 |172.25.2.102
192.168.1.13 |172.25.2.103
vim /usr/local/etcd/etcd.yml
name: node1
data-dir: /usr/local/etcd/data
listen-peer-urls: http://0.0.0.0:2380
listen-client-urls: http://0.0.0.0:2379
initial-advertise-peer-urls: http://192.168.1.11:2380
advertise-client-urls: http://172.25.2.101:2379
initial-cluster-token: etcd-cluster-1
initial-cluster: node1=http://192.168.1.11:2380,node2=http://192.168.1.12:2380,node3=http://192.168.1.13:2380
enable-v2: true
initial-cluster-state: new
其他两个节点配置,只改以下几项
name
advertise-peer-urls
initial-advertise-peer-urls
advertise-client-urls
后台启动
nohup /usr/local/etcd/etcd --config-file=/usr/local/etcd/etcd.yml >>/usr/local/etcd/log/etcd.log 2>&1 &
打印集群成员列表
/usr/local/etcd/etcdctl --write-out=table --endpoints=localhost:2379 member list
打印当前节点是不是leader节点
curl http://localhost:2379/v2/stats/leader
优化:追加配置
quota-backend-bytes配置,默认是2G。DB SIZE写满2G后集群将停止写入数据。配置为100G容量。
vim /usr/local/etcd/etcd.yml
heartbeat-interval: 1000
election-timeout: 5000
backend-bbolt-freelist-type: map
quota-backend-bytes: 100000000000