标签:通信 验证 3.1 lis heartbeat 基于 配置参数 不同 内容
延伸:ZooKeeper 是一套分布式系统中进行同步和一致性管理的工具,doozer 则是一个一致性分布式数据库。Raft 是一套通过选举主节点来实现分布式系统一致性的算法。
1 [root@etcdhost ~]# wget https://github.com/coreos/etcd/releases/download/v3.3.9/etcd-v3.3.9-linux-amd64.tar.gz 2 [root@etcdhost ~]# tar xzvf etcd-v3.3.9-linux-amd64.tar.gz 3 [root@etcdhost ~]# cd etcd-v3.3.9-linux-amd64/ 4 [root@etcdhost etcd-v3.3.9-linux-amd64]# ls 5 [root@etcdhost etcd-v3.3.9-linux-amd64]# cp etcd* /usr/local/bin/
1 [root@etcdhost ~]# yum -y install etcd
1 [root@etcdhost ~]# etcd
1 [root@etcdhost ~]# etcdctl set myname "xianghongying" #设置键值 2 xianghongying 3 [root@etcdhost ~]# etcdctl get myname #获取键值 4 xianghongying 5 [root@etcdhost ~]# curl -L http://localhost:2379/v2/keys/myname #通过HTTP API获取
1 [root@etcdhost ~]# etcdctl set /etcdb/myself/name "Xiang HongYing" 2 选项: 3 --ttl ‘0‘ #该键值的超时时间(单位为秒),不配置(默认为 0)则永不超时 4 --swap-with-value value #若该键现在的值是 value,则进行设置操作 5 --swap-with-index ‘0‘ #若该键现在的索引值是指定索引,则进行设置操作
1 [root@etcdhost ~]# etcdctl get /etcdb/myself/name 2 选项: 3 --sort #对结果进行排序 4 --consistent #将请求发给主节点,保证获取内容的一致性
1 [root@etcdhost ~]# etcdctl get -o extended /etcdb/myself/name
1 [root@etcdhost ~]# etcdctl set /etcdb/myself/name --ttl 5
1 [root@etcdhost ~]# etcdctl update /etcdb/myself/name "Xiao XianNv" 2 [root@etcdhost ~]# etcdctl get /etcdb/myself/name 3 选项: 4 --ttl ‘0‘ #超时时间(单位为秒),不配置(默认为 0)则永不超时
1 [root@etcdhost ~]# etcdctl set --swap-with-value "Xiao XianNv" /etcdb/myself/name "Xiang HongYing"
1 [root@etcdhost ~]# etcdctl update --ttl 3 /etcdb/myself/name "Xiao XianNv"
1 [root@etcdhost ~]# etcdctl rm /etcdb/myself/name 2 选项: 3 --dir #如果键是个空目录或者键值对则删除 4 --recursive #删除目录和所有子键 5 --with-value #检查现有的值是否匹配 6 --with-index ‘0‘ #检查现有的 index 是否匹配
1 [root@etcdhost ~]# etcdctl rm --with-value "Xiao XianNv" /etcdb/myself/name
1 [root@etcdhost ~]# etcdctl mk /etcdb/myself/age "25"
1 --ttl ‘0‘ #超时时间(单位为秒),不配置(默认为 0)则永不超时
1 [root@etcdhost ~]# etcdctl mk --in-order /etcdb/myself/member zhangsan 2 [root@etcdhost ~]# etcdctl mk --in-order /etcdb/myself/member lisi
1 [root@etcdhost ~]# etcdctl setdir testetcd2 2 选项: 3 --ttl ‘0‘ #超时时间(单位为秒),不配置(默认为 0)则永不超时
1 [root@etcdhost ~]# etcdctl updatedir testetcd2 2 --ttl ‘0‘ #超时时间(单位为秒),不配置(默认为 0)则永不超时
1 [root@etcdhost ~]# etcdctl mkdir testetcd 2 选项: 3 --ttl ‘0‘ #超时时间(单位为秒),不配置(默认为 0)则永不超时
1 [root@etcdhost ~]# etcdctl rmdir /testetcd2 #删除非空目录 2 [root@etcdhost ~]# etcdctl rmdir /etcdb/myself 3 Error: 108: Directory not empty (/etcdb/myself) [16] 4 [root@etcdhost ~]# etcdctl get /etcdb/myself/age #删除键值
1 [root@etcdhost ~]# etcdctl ls 2 [root@etcdhost ~]# etcdctl ls etcdb
1 选项: 2 --sort #将输出结果排序 3 --recursive #如果目录下有子目录,则递归输出其中的内容 4 -p #对于输出为目录,在最后添加 `/` 进行区分
1 [root@etcdhost ~]# etcdctl backup --data-dir /var/lib/etcd/default.etcd --backup-dir /tmp 2 选项: 3 --data-dir #etcd 的数据目录 4 --backup-dir #备份到指定路径
1 [root@etcdhost ~]# etcdctl watch /etcdb/myself/name 2 [root@etcdhost ~]# etcdctl set /etcdb/myself/name "Xiang HongYing" 3 [root@etcdhost ~]# etcdctl update /etcdb/myself/name "Xiao XianNv"
1 --forever #一直监测,直到用户按 `CTRL+C` 退出 2 --after-index ‘0‘ #在指定 index 之前一直监测 3 --recursive #返回所有的键值和子键值
1 [root@etcdhost ~]# etcdctl exec-watch /etcdb/myself/name -- sh -c ‘etcdctl ls‘ 2 [root@etcdhost ~]# etcdctl set /etcdb/myself/name "Xiang HongYing" 3 [root@etcdhost ~]# etcdctl update /etcdb/myself/name "Xiao XianNv"
1 选项: 2 --after-index ‘0‘ #在指定 index 之前一直监测 3 --recursive #返回所有的键值和子键值
1 [root@etcdhost ~]# etcdctl watch --forever /etcdb/myself/name
1 [root@etcdhost ~]# etcdctl member list
1 [root@etcdhost ~]# etcdctl member add node2 http://172.24.8.101:2380
1 [root@etcdhost ~]# etcdctl member remove 8e9e05c52164694d
1 [root@etcdhost ~]# etcdctl member update node2 http://172.24.8.102:2380
1 [root@etcdhost ~]# etcdctl cluster-health #集群健康检查 2 [root@etcdhost ~]# etcdctl --version #查看etcd版本 3 [root@etcdhost ~]# etcdctl --help #获取帮助 4 [root@etcdhost ~]# etcdctl cluster-health #查看集群状态
1 export ETCDCTL_API=3 #声明API版本为v3
1 etcdctl put /etcdb/myself/name "Xiao XianNv" 2 etcdctl put /etcdb/myself/name Xiang HongYing"
1 etcdctl del /etcdb/myself/name 2 etcdctl del /etcdb/myself/name --prefix #删除所有name前缀的节点
1 etcdctl get /etcdb/myself/name 2 etcdctl get /etcdb/myself/name --prefix #查询所有name前缀的键值
1 etcdctl watch /etcdb/myself/name 2 etcdctl watch /etcdb/myself --prefix #监听子节点
1 etcdctl lease grant 40 #从申请开始计算时间
1 etcdctl put --lease=4e5e5b853f528859 /etcdb/myself/name Xiang HongYing" #节点的生命伴随着租约到期将会被DELETE
1 etcdctl lease revoke 4e5e5b853f5286cc #撤销租约和租约到期一样,节点都会被删除
1 etcdctl lease keep-alive 4e5e5b853f52892b #每当到期将会续约
标签:通信 验证 3.1 lis heartbeat 基于 配置参数 不同 内容
原文地址:https://www.cnblogs.com/itzgr/p/9920725.html