CentOS8 安装/测试 etcd

可通过这篇笔记先简单了解下etcd:《etcd 介绍(笔记)》

一,下载及安装etcd

etcd :https://etcd.io/docs/v3.4.0/demo/

git 地址:https://github.com/etcd-io/etcd

我用了最新的安装包

wget http://github.com/etcd-io/etcd/releases/download/v3.4.7/etcd-v3.4.7-linux-amd64.tar.gz
URL transformed to HTTPS due to an HSTS policy
--2020-04-08 14:21:24--  https://github.com/etcd-io/etcd/releases/download/v3.4.7/etcd-v3.4.7-linux-amd64.tar.gz
Resolving github.com (github.com)... 52.74.223.119
Connecting to github.com (github.com)|52.74.223.119|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/11225014/cd901e00-7419-11ea-88fc-732f4a7bec4f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20200407%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200407T222420Z&X-Amz-Expires=300&X-Amz-Signature=86de4710f8392330674e90c68d39f67f2b743d4d6092c06afd5dcadcc35eb009&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Detcd-v3.4.7-linux-amd64.tar.gz&response-content-type=application%2Foctet-stream [following]
--2020-04-08 14:21:25--  https://github-production-release-asset-2e65be.s3.amazonaws.com/11225014/cd901e00-7419-11ea-88fc-732f4a7bec4f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20200407%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200407T222420Z&X-Amz-Expires=300&X-Amz-Signature=86de4710f8392330674e90c68d39f67f2b743d4d6092c06afd5dcadcc35eb009&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Detcd-v3.4.7-linux-amd64.tar.gz&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.217.15.188
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.217.15.188|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17310840 (17M) [application/octet-stream]
Saving to: ‘etcd-v3.4.7-linux-amd64.tar.gz’

etcd-v3.4.7-linux-amd64.tar.gz                100%[================================================================================================>]  16.51M  1.00MB/s    in 19s     

2020-04-08 14:21:45 (896 KB/s) - ‘etcd-v3.4.7-linux-amd64.tar.gz’ saved [17310840/17310840]

解压

tar -xf etcd-v3.4.7-linux-amd64.tar.gz

切换目录,并将etcd和etcdctl二进制文件移动到/usr/local/bin目录: 

cd etcd-v3.4.7-linux-amd64/
sudo mv etcd etcdctl /usr/local/bin

确认版本,运行etcd --version命令:

$ etcd --version
etcd Version: 3.4.7
Git SHA: e694b7bb0
Go Version: go1.12.17
Go OS/Arch: linux/amd64

etcd安装就完成了。

 

二,测试etcd

先开启etcd 服务,直接etcd 就ok

etcd
[WARNING] Deprecated '--logger=capnslog' flag is set; use '--logger=zap' flag instead
2020-04-08 22:57:58.083364 I | etcdmain: etcd Version: 3.4.7
2020-04-08 22:57:58.083396 I | etcdmain: Git SHA: e694b7bb0
2020-04-08 22:57:58.083399 I | etcdmain: Go Version: go1.12.17
2020-04-08 22:57:58.083401 I | etcdmain: Go OS/Arch: linux/amd64
2020-04-08 22:57:58.083404 I | etcdmain: setting maximum number of CPUs to 1, total number of available CPUs is 1
2020-04-08 22:57:58.083410 W | etcdmain: no data-dir provided, using default data-dir ./default.etcd
2020-04-08 22:57:58.083520 N | etcdmain: the server is already initialized as member before, starting as etcd member...
[WARNING] Deprecated '--logger=capnslog' flag is set; use '--logger=zap' flag instead
2020-04-08 22:57:58.084454 I | embed: name = default
2020-04-08 22:57:58.084461 I | embed: data dir = default.etcd
2020-04-08 22:57:58.084464 I | embed: member dir = default.etcd/member
2020-04-08 22:57:58.084467 I | embed: heartbeat = 100ms
2020-04-08 22:57:58.084470 I | embed: election = 1000ms
2020-04-08 22:57:58.084472 I | embed: snapshot count = 100000
2020-04-08 22:57:58.084479 I | embed: advertise client URLs = http://localhost:2379
2020-04-08 22:57:58.084482 I | embed: initial advertise peer URLs = http://localhost:2380
2020-04-08 22:57:58.084486 I | embed: initial cluster = 
2020-04-08 22:57:58.086243 I | etcdserver: restarting member 8e9e05c52164694d in cluster cdf818194e3a8c32 at commit index 4
raft2020/04/08 22:57:58 INFO: 8e9e05c52164694d switched to configuration voters=()
raft2020/04/08 22:57:58 INFO: 8e9e05c52164694d became follower at term 2
raft2020/04/08 22:57:58 INFO: newRaft 8e9e05c52164694d [peers: [], term: 2, commit: 4, applied: 0, lastindex: 4, lastterm: 2]
2020-04-08 22:57:58.088665 W | auth: simple token is not cryptographically signed
2020-04-08 22:57:58.091692 I | etcdserver: starting server... [version: 3.4.7, cluster version: to_be_decided]
2020-04-08 22:57:58.093408 I | embed: listening for peers on 127.0.0.1:2380
raft2020/04/08 22:57:58 INFO: 8e9e05c52164694d switched to configuration voters=(10276657743932975437)
2020-04-08 22:57:58.093598 I | etcdserver/membership: added member 8e9e05c52164694d [http://localhost:2380] to cluster cdf818194e3a8c32
2020-04-08 22:57:58.093642 N | etcdserver/membership: set the initial cluster version to 3.4
2020-04-08 22:57:58.093667 I | etcdserver/api: enabled capabilities for version 3.4
raft2020/04/08 22:57:59 INFO: 8e9e05c52164694d is starting a new election at term 2
raft2020/04/08 22:57:59 INFO: 8e9e05c52164694d became candidate at term 3
raft2020/04/08 22:57:59 INFO: 8e9e05c52164694d received MsgVoteResp from 8e9e05c52164694d at term 3
raft2020/04/08 22:57:59 INFO: 8e9e05c52164694d became leader at term 3
raft2020/04/08 22:57:59 INFO: raft.node: 8e9e05c52164694d elected leader 8e9e05c52164694d at term 3
2020-04-08 22:57:59.089651 I | etcdserver: published {Name:default ClientURLs:[http://localhost:2379]} to cluster cdf818194e3a8c32
2020-04-08 22:57:59.089870 I | embed: ready to serve client requests
2020-04-08 22:57:59.090336 N | embed: serving insecure client requests on 127.0.0.1:2379, this is strongly discouraged!

再开一个窗口Teminal 作为客户端

设置键值

etcdctl --endpoints=127.0.0.1:2379 put foo "Hello World! oopxiajun"
OK

获取键值

etcdctl --endpoints=127.0.0.1:2379 get foo
foo
Hello World! oopxiajun

以json 方式输出

etcdctl --endpoints=127.0.0.1:2379 --write-out="json" get foo
{"header":{"cluster_id":14841639068965178418,"member_id":10276657743932975437,"revision":4,"raft_term":3},"kvs":[{"key":"Zm9v","create_revision":2,"mod_revision":4,"version":3,"value":"SGVsbG8gV29ybGQhIG9vcHhpYWp1bg=="}],"count":1}

每次都输入ip和端口麻烦,要是多台集群,那就.......

我们可以用变量

ENDPOINTS=127.0.0.1:2379

etcdctl --endpoints=$ENDPOINTS --write-out="json" get foo
{"header":{"cluster_id":14841639068965178418,"member_id":10276657743932975437,"revision":4,"raft_term":3},"kvs":[{"key":"Zm9v","create_revision":2,"mod_revision":4,"version":3,"value":"SGVsbG8gV29ybGQhIG9vcHhpYWp1bg=="}],"count":1}

etcdctl --endpoints=$ENDPOINTS get foo
foo
Hello World! oopxiajun

其他操作请查看官网文档:https://etcd.io/docs/v3.4.0/demo/

发布了28 篇原创文章 · 获赞 0 · 访问量 2641

猜你喜欢

转载自blog.csdn.net/oopxiajun2011/article/details/105374479
今日推荐