背景
etcd是CoreOS团队于2013年6月发起的一个开源项目,它是一个优秀的高可用分布式键值对存储数据库。etcd内部采用了Raft协议作为一致性算法,且使用Go实现。
这篇文章主要记录etcd在Linux上的单机版安装与简单的命令行使用。主要是供初学者参考。
etcd的安装
etcd的github路径地址为:https://github.com/etcd-io/etcd
我们可以直接从github中将安装压缩包下载到测试机上,使用命令
wget https://github.com/coreos/etcd/releases/download/v3.3.25/etcd-v3.3.25-linux-amd64.tar.gz
其中3.3.25为etcd的版本号,目前etcd主要有v2和v3两个大版本。
我们也可以将版本号改为更早的版本,可以在地址https://github.com/etcd-io/etcd/releases查看etcd的已发布版本信息。
下载之后,我们使用命令:tar xzvf etcd-v3.3.25-linux-amd64.tar.gz
进行解压,
然后使用命令mv etcd-v3.3.25-linux-amd64 /opt/etcd
把目录移到opt目录下,/opt目录下一般用于存放下载的第三方软件。
到此,etcd就安装完毕了。
etcd服务端启动
如果我们只是在测试环境学习etcd,那么可以直接进入etcd的安装目录/opt/etc
,用./etcd
启动etcd。
这时etcd服务端会打印出一系列信息:
包括了etcd、go、git等版本信息,以及raft协议选举出来的leader节点信息等等。
etcd客户端的使用
这时,我们可以再次开启一个终端,然后配置一下环境变量:
在/etc/profile
文件底部添加一行:export PATH=${PATH}:/opt/etcd
然后运行命令source /etc/profile
生效环境变量。
这时可以直接使用etcd提供的命令行操作工具etcdctl
了,我们输入命令etcdctl -h
可以看到etcdctl简单的使用方法。
我们演示几个命令行使用:
etcdctl mkdir v // 创建目录v
etcdctl mkdir v/sub_v // 在目录v下创建目录sub_v
etcdctl mk v/sub_v/key1 value1 // 在目录v/sub_v下创建键key1以及对应的值value1
etcdctl ls -r // 查看所有的目录以及键
结果:
/v
/v/sub_v
/v/sub_v/key1
使用etcdctl get查看某个键值:
etcdctl get v/sub_v/key1
结果:
value1
etcdctl还有许多的命令以及可选项,可以参考help中的介绍练习使用。
当然,etcd还提供了REST API的方式让我们可以通过HTTP来访问etcd的存储,HTTP提供的接口操作基本与命令行操作差不多,我们可以用etcdctl来熟悉相关操作。