一、介绍
etcd是一个采用HTTP协议的健/值对存储系统,它是一个分布式和功能层次配置系统,可用于构建服务发现系统。其很容易部署、安装和使用,提供了可靠的数据持久化特性。它是安全的并且文档也十分齐全。
- 静态发现: 预先已知 Etcd 集群中有哪些节点,在启动时直接指定好 Etcd 的各个 node 节点地址
- Etcd 动态发现: 通过已有的 Etcd 集群作为数据交互点,然后在扩展新的集群时实现通过已有集群进行服务发现的机制
- DNS 动态发现: 通过 DNS 查询方式获取其他节点地址信息
二、环境准备
以下三台服务器在虚拟机上部署。系统环境为Centos7。
hosts | 节点名 | 服务器IP |
---|---|---|
etcd1.cluster.test | etcd1 | 10.10.149.229 |
etcd2.cluster.test | etcd2 | 10.10.152.165 |
etcd3.cluster.test | etcd3 | 10.10.160.64 |
三、安装
Centos7 可以直接yum安装etcd
yum install -y etcd
四、配置
编辑节点etcd1配置文件(etcd2,etcd3配置文件只需要更改IP及可)
vim /etc/etcd/etcd.conf
# 节点名称
ETCD_NAME=etcd1
# 数据库存放位置
ETCD_DATA_DIR="/var/lib/etcd/etcd1"
# 监听其他 Etcd 实例地址
ETCD_LISTEN_PEER_URLS="http://10.10.149.229:2380"
# 监听客户端地址
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379,http://0.0.0.0:4001"
# 通知其他 Etcd 实例地址
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.10.149.229:2380"
# 初始化集群内节点地址
ETCD_INITIAL_CLUSTER="etcd1=http://etcd1.cluster.test:2380,etcd2=http://etcd2.cluster.test:2380,etcd3=http://etcd3.cluster.test:2380"
# 初始化集群状态,new 表示新建
ETCD_INITIAL_CLUSTER_STATE="new"
# 初始化集群 token
ETCD_INITIAL_CLUSTER_TOKEN="my-etcd-cluster"
# 通知客户端地址
ETCD_ADVERTISE_CLIENT_URLS="http://10.10.149.229:2379,http://10.10.149.229:4001"
五、验证
-
在任意节点执行 etcdctl member list 可列所有集群节点信息,如下所示
etcd集群成员 -
使用 etcdctl cluster-health 查看集群健康状态
etcd集群状态 -
通过etcdctl set/get key
set/get
六、结语
写的不好,如有错误请留言纠正,谢谢。
网友评论