etcd 是 CoreOS 团队于 2013 年 6 月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库,基于 Go 语言实现,内部采用 raft 协议作为一致性算法。etcd目前默认使用 2379 端口提供 HTTP API 服务。

安装

进入官网: https://github.com/coreos/etcd/releases/

下载相应的版本,例如我下载的是etcd-v3.3.2-linux-amd64.tar.gz,然后解压。

进入目录启动etcd

cd etcd-v3.3.2-linux-amd64
./etcd

在实际使用时还需要把etcd的路径加入到PATH中,这样在其它的目录下都可以直接启动etcd。这种方法只是暂时设置环境变量,要永久设置可以参考修改/etc/profile文件或.bashrc文件。

ETCD=/home/suraer/Downloads/etcd-v3.3.2-linux-amd64
export ETCD
PATH=$PATH:$ETCD

设置完上述过程后在其它目录下只要执行etcd命令就可以启动etcd,后面有关etcd的操作都需要在启动etcd的情况下完成。

在etc的同级目录下有个可执行文件etcdctl,这个是etcd的一个工具,有关etcdctl的使用可以参考相关教程。

etcd API

etcd提供了许多API来操作数据,这里介绍几个常见的API来说明。

创建数据

// 键/message的值为"Hello word"
curl http://127.0.0.1:2379/v2/keys/message -XPUT -d value="Hello world"

获取数据

// 获取/message的值
curl http://127.0.0.1:2379/v2/keys/message

修改数据

curl http://127.0.0.1:2379/v2/keys/message -XPUT -d value="Hello etcd"

删除数据

curl http://127.0.0.1:2379/v2/keys/message -XDELETE

设置键的存活时间

// 5秒后/foo将被销除
curl http://127.0.0.1:2379/v2/keys/foo -XPUT -d value=bar -d ttl=5

更多API参考官网: https://coreos.com/etcd/docs/latest/v2/api.html

Python-etcd

首先安装etcd包

pip install python-etcd

创建client对象

注意,创建client的端口一定要和etcd启动的端口一致,不然会报错。

client = etcd.Client(host='127.0.0.1', port=2379)

设置值

client.write('/nodes/n1', 1)

获取值

print(client.read('/nodes/n1').value)

删除值

client.delete('/nodes/n1')

详细内容参考官网: http://python-etcd.readthedocs.io/en/latest/

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. Spring 管理Filter和Servlet

    本文转载自:http://www.open-open.com/lib/view/open1417248512252.html 在使用spring容器的web应用中,业务对象间的依赖关系都可以用cont ...

  2. BZOJ1260 CQOI2007 涂色paint 【区间DP】

    BZOJ1260 CQOI2007 涂色paint Description 假设你有一条长度为5的木版,初始时没有涂过任何颜色.你希望把它的5个单位长度分别涂上红.绿.蓝.绿.红色,用一个长度为5的字 ...

  3. Postman 上传文件

    一.选择post请求方式,输入请求地址 二.填写Headers Key:Content-Type Value:multipart/form-data 三.填写body 选择form-data 然后选择 ...

  4. 《DSP using MATLAB》示例Example7.4

    代码: h = [-4, 1, -1, -2, 5, 6, 5, -2, -1, 1, -4]; M = length(h); n = 0:M-1; [Hr, w, a, L] = Hr_Type1( ...

  5. flash无法导入mp3文件

    用全能音频转换通转换下,一切采用默认即可,点击下载地址 这个软件真心好用. 把mp3拖入其中,点击批量转换,参数默认,即可.

  6. 【转】VC 模式对话框和非模式对话框的创建,销毁和区别

    原文网址:http://blog.csdn.net/mycaibo/article/details/6002151 VC 模式对话框和非模式对话框的创建,销毁和区别   在WIN32中,模式对话框的创 ...

  7. CMake尝鲜

    安装gcc,cmake,g++,gdb sudo apt-get install gcc cmake g++ gdb sudo apt-get update && sudo apt-g ...

  8. video4linux(v4l)使用摄像头的实例基础教程与体会(转)

    1. video4linux基础相关     1.1  v4l的介绍与一些基础知识的介绍   I.首先说明一下video4linux(v4l).           它是一些视频系统.视频软件.音频软 ...

  9. java web 程序---猜数字游戏

    思路:1.第一个是随机产生的数字,告诉我们去猜  cai.jsp 2.第二个是一个form表单,提交按钮后,将连接到验证页面 test1.jsp 3.第三个是比较猜的数和随机数.对了,提示再玩一次,不 ...

  10. Java中的自动类型转换/隐式类型转换

    整型.实型(常量).字符型数据可以混合运算.运算中,不同类型的数据先转化为同一类型,然后进行运算. 转换从低级到高级. 自动类型转换必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: sho ...