Etcd单节点安装

通常情况下Etcd在生产环境中一般推荐集群方式部署。但是为了方便和初学者使用这里讲述的是单节点Etcd安装和基本使用。 Etcd目前默认使用2379端口提供HTTP API服务,2380端口和Peer通信(这两个端口已经被IANA官方预留给Etcd);在之前的版本中可能会分别使用4001和7001,在使用的过程中需要注意这个区别。

由于Etcd 基于Go语言实现,因此,用户可以从Etcd项目主页下载源代码自行编译,也可以下载编译好的二进制文件,甚至直接使用制作好的Docker镜像文件来体验。

这里我用二进制文件来安装,编译好的二进制文件都在Etcd页面,用户可以选择需要的版本,或通过下载工具下载。

使用 curl 工具下载压缩包,并解压。

  1. > curl -L https://github.com/coreos/etcd/releases/download/v3.2.10/etcd-v3.2.10-linux-amd64.tar.gz -o etcd-v3.2.10-linux-amd64.tar.gz
  2. > tar xzvf etcd-v3.2.10-linux-amd64.tar.gz
  3. > cd etcd-v3.2.10-linux-amd64

解压后,可以看到文件包括:

  1. > ls
  2. Documentation README-etcdctl.md README.md READMEv2-etcdctl.md etcd etcdctl

其中etcd服务端,etcdctl是提供给用户的命令客户端,其他文件是支持文档。

下面将 etcd etcdctl 文件放到系统可执行目录(例如 /usr/local/bin/)。

  1. > sudo cp etcd* /usr/local/bin/

默认 2379 端口处理客户端的请求,2380 端口用于集群各成员间的通信。启动 etcd 显示类似如下的信息:

启动etcd:

  1. > ./etcd
  2. 2018-06-26 11:06:04.345228 I | etcdmain: etcd Version: 3.2.10
  3. 2018-06-26 11:06:04.345271 I | etcdmain: Git SHA: 694728c
  4. 2018-06-26 11:06:04.345296 I | etcdmain: Go Version: go1.8.5
  5. 2018-06-26 11:06:04.345303 I | etcdmain: Go OS/Arch: linux/amd64
  6. 2018-06-26 11:06:04.345310 I | etcdmain: setting maximum number of CPUs to 4, total number of available CPUs is 4
  7. ...

可以使用 etcdctl 命令进行测试,设置和获取键值 testkey: “first use etcd”,检查 etcd 服务是否启动成功:

  1. > etcdctl member list
  2. 65388a54a71622c7: name=keke peerURLs=http://localhost:2380 clientURLs=http://localhost:2379 isLeader=true
  3. > etcdctl set testkey "first use etcd"
  4. first use etcd
  5. > etcdctl get testkey
  6. first use etcd

这样单节点Etcd就启动成功了!