配置
node1
name: etcd-1

data-dir: /data/etcd/node1

listen-client-urls: http://127.0.0.1:6701

advertise-client-urls: http://127.0.0.1:6701

listen-peer-urls: http://127.0.0.1:16701

initial-advertise-peer-urls: http://127.0.0.1:16701

initial-cluster: etcd-1=http://127.0.0.1:16701,etcd-2=http://127.0.0.1:16702,etcd-3=http://127.0.0.1:16703

initial-cluster-token: etcd-cluster-token

initial-cluster-state: new
cd /data/packages/etcd-v3.5.4-linux-amd64;./etcd --config-file=/data/etcd/node1/conf.yml
node2
name: etcd-2

data-dir: /data/etcd/node2

listen-client-urls: http://127.0.0.1:6702

advertise-client-urls: http://127.0.0.1:6702

listen-peer-urls: http://127.0.0.1:16702

initial-advertise-peer-urls: http://127.0.0.1:16702

initial-cluster: etcd-1=http://127.0.0.1:16701,etcd-2=http://127.0.0.1:16702,etcd-3=http://127.0.0.1:16703

initial-cluster-token: etcd-cluster-token

initial-cluster-state: new
cd /data/packages/etcd-v3.5.4-linux-amd64;./etcd --config-file=/data/etcd/node2/conf.yml
node3
name: etcd-3

data-dir: /data/etcd/node3

listen-client-urls: http://127.0.0.1:6703

advertise-client-urls: http://127.0.0.1:6703

listen-peer-urls: http://127.0.0.1:16703

initial-advertise-peer-urls: http://127.0.0.1:16703

initial-cluster: etcd-1=http://127.0.0.1:16701,etcd-2=http://127.0.0.1:16702,etcd-3=http://127.0.0.1:16703

initial-cluster-token: etcd-cluster-token

initial-cluster-state: new
cd /data/packages/etcd-v3.5.4-linux-amd64;./etcd --config-file=/data/etcd/node3/conf.yml
集群状态命令
# 查看节点状态
./etcdctl --endpoints='127.0.0.1:6701,127.0.0.1:6702,127.0.0.1:6703' --write-out=table endpoint status # 查看节点信息
./etcdctl --endpoints='127.0.0.1:6701,127.0.0.1:6702,127.0.0.1:6703' --write-out=table member list
数据操作命令
# 写数据
./etcdctl --endpoints='127.0.0.1:6701,127.0.0.1:6702,127.0.0.1:6703' put user 'user'
OK # 获取数据
./etcdctl --endpoints='127.0.0.1:6701,127.0.0.1:6702,127.0.0.1:6703' get user
user
user # json形式获取数据
./etcdctl --endpoints='127.0.0.1:6701,127.0.0.1:6702,127.0.0.1:6703' --write-out='json' get user
{"header":{"cluster_id":14495651392122646756,"member_id":9121633945989494648,"revision":3,"raft_term":7},"kvs":[{"key":"dXNlcg==","create_revision":2,"mod_revision":3,"version":2,"value":"amlhbmd4dQ=="}],"count":1} # 前缀方式获取数据
./etcdctl --endpoints='127.0.0.1:6701,127.0.0.1:6702,127.0.0.1:6703' --write-out='json' get user --prefix
{"header":{"cluster_id":14495651392122646756,"member_id":2265291478623953179,"revision":6,"raft_term":7},"kvs":[{"key":"dXNlcjE=","create_revision":5,"mod_revision":5,"version":1,"value":"amlhbmd4dQ=="},{"key":"dXNlcjI=","create_revision":6,"mod_revision":6,"version":1,"value":"aGFoYQ=="}],"count":2} # 删除数据
./etcdctl --endpoints='127.0.0.1:6701,127.0.0.1:6702,127.0.0.1:6703' del user
1
监视数据
# 监视数据可以看到相关key的事件
./etcdctl --endpoints='127.0.0.1:6701,127.0.0.1:6702,127.0.0.1:6703' watch user --prefix
租约
./etcdctl --endpoints='127.0.0.1:6701,127.0.0.1:6702,127.0.0.1:6703' lease list
found 0 leases
# lease创建后会分配ID
./etcdctl --endpoints='127.0.0.1:6701,127.0.0.1:6702,127.0.0.1:6703' lease grant 30
lease 211b80fe02999707 granted with TTL(30s)
./etcdctl --endpoints='127.0.0.1:6701,127.0.0.1:6702,127.0.0.1:6703' lease list
found 1 leases
211b80fe02999707
# 使用key并给key分配lease
# 如果lease在grant超时,lease和lease对应的key都会删除
./etcdctl --endpoints='127.0.0.1:6701,127.0.0.1:6702,127.0.0.1:6703' put user3 'test' --lease=211b80fe02999707

【其他】etcd的更多相关文章

  1. 一次基于etcd的分布式锁自动延时失败问题的排查

    今天在测试基于etcd的分布式锁过程中,在测试获取锁后,释放之前超出TTL时长的情况下自动延长TTL这部分功能,在延长指定key的TTL时总是返回404错误信息,在对目标KEY更新TTL时目标KEY已 ...

  2. etcd:用于服务发现的键值存储系统

    etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现.etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过Raft一致性算法处理 ...

  3. Centos7下Etcd集群搭建

    一.简介 "A highly-available key value store for shared configuration and service discovery." ...

  4. 通过docker-machine和etcd部署docker swarm集群

    本片文章介绍一下 使用docker-machine 搭建docker swarm 集群:docker swarm是docker 官方搭建的容器集群编排工具:容器编排,就是可以使你像使用一太机器一样来使 ...

  5. etcd第三集

    简单说下golang的etcd接口例子.etcd api有v2(http+json)和v3(grpc)两个版本,目前大家都用v2,所以... v2: https://github.com/coreos ...

  6. etcd第二集

    参考文章:https://github.com/coreos/etcd/blob/master/Documentation/v2/api.mdhttp://www.cnblogs.com/zhengr ...

  7. etcd第一集

    网站:https://github.com/coreos/etcd 一些观点:https://yq.aliyun.com/articles/11035 1.etcd是键值存储仓库,配置共享和服务发现2 ...

  8. etcd命令说明 etcd Version: 3.0.15

    etcd Version: 3.0.15Git SHA: fc00305Go Version: go1.6.3Go OS/Arch: linux/amd64 https://github.com/co ...

  9. etcd api 接口

    etcd api接口 基本操作api: https://github.com/coreos/etcd/blob/6acb3d67fbe131b3b2d5d010e00ec80182be4628/Doc ...

  10. Key/Value存储系统etcd的特性

    etcd 是一个高可用的Key/Value存储系统,和其他KV存储系统不同的是,它的灵感来自于 ZooKeeper 和 Doozer,主要用于分享配置和服务发现.利用 etcd 的特性,应用程序可以在 ...

随机推荐

  1. VisualSvn-Server搭建

    一.安装VisualSvn-Server 1.安装向导 2.同意许可 3.选择组件 4.选择版本(选择"标准版本",企业版需要收费) 5.服务器设置 6.安装 7.安装中 8.安装 ...

  2. Day 22 22.1.1:增量式爬虫 - 场景1的实现

    场景1的实现: 数据指纹: 数据的唯一标识.记录表中可以不直接存储数据本身,直接存储数据指纹更好一些. 创建爬虫爬虫文件: cd project_name(进入项目目录) scrapy genspid ...

  3. Java方法之递归详解【重点】

    递归详解 A方法调用B方法,我们很容易理解! 递归就是:A方法调用A方法!就是自己调用自己. 利用递归可以用简单的程序来解决一些复杂的问题.它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较 ...

  4. JDBC基本案例

    public static void main(String[] args) throws Exception { //1注册驱动 Class.forName("com.mysql.jdbc ...

  5. Redis缓存问题排查

    一.缓存穿透 概念:缓存穿透是指查询的数据不存在,redis和mysql(或其他持久存储的数据库)都不能命中.工作中出于容错的考虑,如果从数据库内不能查到数据则不会写入缓存,缓存穿透将导致不存在的数据 ...

  6. openSUSE 播放使用VLC播放视频

    openSUSE 使用VLC播放视频 linux视频播放 为什么 通常我们在安装号vlc后,由于版权的原因,是无法获取视频的解码器的.我们需要下载第三方的解码器帮助我们进行解码. 过程如下: 添加pa ...

  7. Python跳一跳小游戏

    一:准备工具 adb 驱动   下载链接:http://adbshell.com/upload/adb.zip 安卓手机 打开手机调试模式 usb线接好手机和电脑 PyCharm:专门用于Python ...

  8. 升级adb

    adb 是没有自动升级的命令的,如果想要更新adb的版本,需要在网上找到自己想要的版本进行更新. 为什么要更新呢? 肯定是在使用中遇到了什么问题必须升级版本才能解决,如果不影响使用,那都无所谓.这里提 ...

  9. mysqld 打开连接卡

    把client的ip写在mysql服务器的/etc/hosts文件里 echo [ip] [hostname] >>/etc/hosts

  10. Debug --> 攻击方式

    1.CSRF攻击概述: CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一. CSRF攻击原 ...