ETCD是一个开源的、分布式键值(Key/Value)存储系统,首先是一个存储仓库,其次是以键值对的形式存储数据。它被设计之初是在Linux平台中使用的,不过现在也推出了Windows版本(处于试验阶段)。官方文档说ETCD的主要用途是“配置共享和服务发现”,关于这两个主要用途,在后面项目中如果有接触到再慢慢探究其具体的应用。现在主要还是将ETCD用于数据存储(这个行为有种将它当做Redis使用的感觉,但是作为云计算开发方面的数据存储,通常都会涉及到分布式存储,因此使用ETCD是一个不错的选择,从介绍就知道了:它是一个分布式存储系统)。
ETCD的安装与配置直接百度搜一堆。
转载:ETCD的安装预配置
tip:下面的命令有v2也有v3版本的,属于哪个版本的命令有标注,v2和v3的一些命令是有明显区别的,如:使用etcdctl set key value(v2写法)在v2版本的环境中可以正常读取,但是在v3版本中却读取不到内容,因为v2版本和v3版本不能完全兼容,数据存储的位置发生了变化,因此无法成功读取。
安装完毕之后你可以打开etcd.json(在Linux可以使用find / -name etcd.json命令查到位置)这个配置文件看看内容:具体的字段作用网上一堆。
{
"name": "cvm_0",
"auto-compaction-mode": "periodic",
"auto-compaction-retention": "1",
"initial-advertise-peer-urls": "http://10.30.12.211:2380",
"listen-peer-urls": "http://10.30.12.211:2380",
"listen-client-urls": "http://127.0.0.1:2379,http://10.30.12.211:2379",
"advertise-client-urls": "http://10.30.12.211:2379",
"initial-cluster": "cvm_2=http://10.30.12.213:2380,cvm_1=http://10.30.12.212:2380,cvm_0=http://10.30.12.211:2380",
"data-dir": "/var/data/etcd/cvm_0.etcd",
"heartbeat-interval": 100,
"election-timeout": 1000,
"initial-cluster-state": "new",
"max-request-bytes": 33554432,
"quota-backend-bytes": 8589934592
}
上面的10.30.12.211是当前这台机的ip地址,在“initial-cluster”字段中可以看到配置了3对ip,这个就是集群中的3个节点,也就是打算将这三个节点配置在同一个集群中,cvm_xxx这个就是第一个字段name对应的名字。另外两台主机也需要按照这个配置文件配置一份,只不过需要把name字段和配置文件中的ip配置成本机ip,对照着改就可以了。
如下:
{
"name": "cvm_1",
"auto-compaction-mode": "periodic",
"auto-compaction-retention": "1",
"i