mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
62 lines
2.0 KiB
Markdown
62 lines
2.0 KiB
Markdown
# Download and build
|
|
|
|
## System requirements
|
|
|
|
The etcd performance benchmarks run etcd on 8 vCPU, 16GB RAM, 50GB SSD GCE instances, but any relatively modern machine with low latency storage and a few gigabytes of memory should suffice for most use cases. Applications with large v2 data stores will require more memory than a large v3 data store since data is kept in anonymous memory instead of memory mapped from a file. than For running etcd on a cloud provider, we suggest at least a medium instance on AWS or a standard-1 instance on GCE.
|
|
|
|
## Download the pre-built binary
|
|
|
|
The easiest way to get etcd is to use one of the pre-built release binaries which are available for OSX, Linux, Windows, appc, and Docker. Instructions for using these binaries are on the [GitHub releases page][github-release].
|
|
|
|
## Build the latest version
|
|
|
|
For those wanting to try the very latest version, build etcd from the `master` branch.
|
|
[Go](https://golang.org/) version 1.6+ (with HTTP2 support) is required to build the latest version of etcd.
|
|
etcd vendors its dependency for official release binaries, while making vendoring optional to avoid import conflicts.
|
|
[`build` script][build-script] would automatically include the vendored dependencies from [`cmd`][cmd-directory] directory.
|
|
|
|
Here are the commands to build an etcd binary from the `master` branch:
|
|
|
|
```
|
|
# go is required
|
|
$ go version
|
|
go version go1.6 darwin/amd64
|
|
|
|
# GOPATH should be set correctly
|
|
$ echo $GOPATH
|
|
/Users/example/go
|
|
|
|
$ mkdir -p $GOPATH/src/github.com/coreos
|
|
$ cd $GOPATH/src/github.com/coreos
|
|
$ git clone https://github.com/coreos/etcd.git
|
|
$ cd etcd
|
|
$ ./build
|
|
$ ./bin/etcd
|
|
...
|
|
```
|
|
|
|
## Test the installation
|
|
|
|
Check the etcd binary is built correctly by starting etcd and setting a key.
|
|
|
|
Start etcd:
|
|
|
|
```
|
|
$ ./bin/etcd
|
|
```
|
|
|
|
Set a key:
|
|
|
|
```
|
|
$ ETCDCTL_API=3 ./bin/etcdctl put foo bar
|
|
OK
|
|
```
|
|
|
|
If OK is printed, then etcd is working!
|
|
|
|
[github-release]: https://github.com/coreos/etcd/releases/
|
|
[go]: https://golang.org/doc/install
|
|
[build-script]: ../build
|
|
[cmd-directory]: ../cmd
|
|
|