1. etcd 快速开始
1.1. etcd 是什么?
Etcd 是 CoreOS 基于 Raft 协议开发的分布式 key-value 存储,可用于服务发现、共享配置以及一致性保障(如数据库选主、分布式锁等)。
etcd 的详细介绍参考: etcd 介绍
1.2. etcd 安装
- 获取 etcd 安装软件包
etcd安装包是使用 go 编译后的二进制文件,选择对应的 CPU 架构后可以直接运行。
官方下载地址:
https://github.com/etcd-io/etcd/releases
https://github.com/etcd-io/etcd/releases/download/v3.4.14/etcd-v3.4.14-linux-amd64.tar.gz
- 单机测试安装使用
如果在测试开发环境,启动一个单点的 etcd 服务,只需要运行 etcd 执行即可。
直接在终端前台启动,如果不想放到前台,可以在结尾添加 & 放置到后台运行。
/usr/local/bin/etcd
启动的 etcd 成员在 localhost:2379 监听客户端请求。
etcd 安装详细说明:etcd 安装说明
1.3. etcd 使用
etcd 大版本分为 V2 和 V3 版本,两个版本的 API 不兼容,因此在访问 etcd 时需要指定通讯的 API 版本
使用 API 版本 3
$ export ETCDCTL_API=3
写入一条数据 foo => bar
$ ./etcdctl put foo bar
OK
读取数据 foo
$ etcdctl get foo
foo
bar
使用 etcd 访问集群操作详细说明:etcdctl参数说明
1.4. etcd 运维
根据 etcd 的部署方式不同,运维的方式也不相同。在怀疑 etcd 集群可能异常时,可以通过以下命令判断集群状态
查看 etcd 集群状态
$ /tmp/etcdctl --endpoints http://127.0.0.1:42379 endpoint status -w table
+------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| ENDPOINT | ID | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| http://127.0.0.1:42379 | 50e57ef7cc044ac4 | 3.4.14 | 20 kB | true | false | 2 | 5 | 5 | |
+------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
更多 etcd 集群运维的说明:etcd 运维
1.5. etcd 其他
想了解更多 etcd 相关的内容: