Etcd
https://github.com/etcd-io/etcd
CPU要求
- 小型集群 2-4C
- 大型集群 8-16C
内存要求
- 8G
- 16-64G(百万或千万并发)
磁盘要求
- SSD最好(IOPS)
搭建
安装
设置hostname
hostnamectl set-hostname Etcd-Node01-Master
从节点也是一样,命名规范,便于管理
hostnamectl set-hostname Etcd-Node02-Slave
安装
yum install -y etcd
验证
rpm -qa etcd
etcd-3.3.11-2.el7.centos.aarch64
查看版本号
etcdctl -v
etcdctl version: 3.3.11
API version: 2
配置
主
修改配置文件之前,先备份
cp /etc/etcd/etcd.conf /etc/etcd/etcd.conf.bak
修改配置文件
vim etcd.conf
[Member] 中解开#
ETCD_LISTEN_PEER_URLS="http://ip:2380"
ETCD_LISTEN_CLIENT_URLS="http://ip:2379,http://127.0.0.1:2379"
ETCD_NAME="Master" 替换成Master
[Clustering] 中解开
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://ip:2379"
核心配置
上下ETCD_NAME和这里的名字一致
ETCD_INITIAL_CLUSTER="Master=http://ip:2380,Node01=http://ip:2380,Node02=http://ip:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
开放防火墙
firewall -cmd --zone=public -add-port=2379/tcp --permanent
firewall -cmd --zone=public -add-port=2379/tcp --permanent
firewall -cmd --reload
或者关闭防火墙(自己玩)
stemctl stop firewalld
从
cp /etc/etcd/etcd.conf /etc/etcd/etcd.conf.bak
修改配置文件
vim etcd.conf
[Member] 中解开#
ETCD_LISTEN_PEER_URLS="http://ip:2380"
ETCD_LISTEN_CLIENT_URLS="http://ip:2379,http://127.0.0.1:2379"
ETCD_NAME="Node02"
[Clustering] 中解开
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://ip:2379"
核心配置
上下ETCD_NAME和这里的名字一致
ETCD_INITIAL_CLUSTER="Master=http://ip:2380,Node02=http://ip:2380,Node03=http://ip:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
另一个从配置node03,和上面一样
使用
启动
systemctl restart etcd
检验是否成功
etcdctl member list
如果出现这个问题的原因:本地localhost无法访问
加一行http:127.0.0.1:2379
测试
etcdctl set name xxx
到另一个节点
etcdctl get name