etcd-3-2-7源码解析-编译和启动

Posted by AlstonWilliams on February 17, 2019

这里的过程都是在Ubuntu下的.其他的平台请移步这里

为了研究Raft算法的实现,打算看一下etcd的源码.

研究源码的过程中,我们少不了调试,所以我们需要先明白从如何编译以及启动etcd.

编译

首先,我们需要从github上面clone下来源码.

我们先创建一个目录,/home/alstonwilliams/source_code/core_etcd,进入到这个目录,然后clone源码: git clone https://github.com/coreos/etcd.git

然后,安装必要的包: sudo apt-get update sudo apt-get install git curl wget tar gcc

然后,安装Go 1.8.这里,这里Go 1.8是必须的.如果你使用Go 1.7,这里就不会成功.但是,如果你是编译 etcd 3.1,可以使用Go 1.7.关于这一点,在etcd的这条issue中可以看到.

然后,创建目录/home/alstonwilliams/source_code/core_etcd/etcd_temp

然后,设置GOPATHETCD_DATA_DIR: export GOPATH=/home/alstonwilliams/source_code/core_etcd export ETCD_DATA_DIR=/home/alstonwilliams/source_code/core_etcd/etcd_temp

然后,在/home/alstonwilliams/source_code/core_etcd/src/github.com/coreos/etcd目录下,用下面的命令构建: ./build

构建完之后,可以使用下面的命令运行一个etcd: ./bin/etcd &

运行本地etcd集群

首先,去goreman的github主页安装goreman.

然后,将这个文件保存到/home/alstonwilliams/source_code/core_etcd/src/github.com/coreos/etcd,并重命名为Procfile.然后,通过goreman start命令启动一个本地集群.