Etcd的基本使用
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的基本使用的更多相关文章
- 一次基于etcd的分布式锁自动延时失败问题的排查
今天在测试基于etcd的分布式锁过程中,在测试获取锁后,释放之前超出TTL时长的情况下自动延长TTL这部分功能,在延长指定key的TTL时总是返回404错误信息,在对目标KEY更新TTL时目标KEY已 ...
- etcd:用于服务发现的键值存储系统
etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现.etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过Raft一致性算法处理 ...
- Centos7下Etcd集群搭建
一.简介 "A highly-available key value store for shared configuration and service discovery." ...
- 通过docker-machine和etcd部署docker swarm集群
本片文章介绍一下 使用docker-machine 搭建docker swarm 集群:docker swarm是docker 官方搭建的容器集群编排工具:容器编排,就是可以使你像使用一太机器一样来使 ...
- etcd第三集
简单说下golang的etcd接口例子.etcd api有v2(http+json)和v3(grpc)两个版本,目前大家都用v2,所以... v2: https://github.com/coreos ...
- etcd第二集
参考文章:https://github.com/coreos/etcd/blob/master/Documentation/v2/api.mdhttp://www.cnblogs.com/zhengr ...
- etcd第一集
网站:https://github.com/coreos/etcd 一些观点:https://yq.aliyun.com/articles/11035 1.etcd是键值存储仓库,配置共享和服务发现2 ...
- 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 ...
- etcd api 接口
etcd api接口 基本操作api: https://github.com/coreos/etcd/blob/6acb3d67fbe131b3b2d5d010e00ec80182be4628/Doc ...
- Key/Value存储系统etcd的特性
etcd 是一个高可用的Key/Value存储系统,和其他KV存储系统不同的是,它的灵感来自于 ZooKeeper 和 Doozer,主要用于分享配置和服务发现.利用 etcd 的特性,应用程序可以在 ...
随机推荐
- 使用 MSBuild 响应文件 (rsp) 来指定 dotnet build 命令行编译时的大量参数
在为开源项目 easiwin/MSTestEnhancer 进行持续集成编译时,需要在编译命令中传入较多的参数.这对于新接手此项目的人来说,成本还是高了一点儿.本文将介绍 MSBuild 响应文件 ( ...
- Java--数组转成list,list转数组
数组转成list: 方法一: String[] userid = {"aa","bb","cc"}; List<String> ...
- oracle-分区(笔记)
partition by 用于指定分区方式 range 表示分区的方式是范围划分 partition pn 用于指定分区的名字 values less than 指定分区的上界(上限) ------- ...
- 一个查看Cookie的便捷工具——EditThisCookie
Appium正在努力准备中,很快就要和大家见面了- 今天给大家分享一个查看cookies的工具,用fiddler总感觉有点麻烦,还乱七八糟的找不到到底哪个链接是当前网站的cookies: 首先,你用的 ...
- Centos7.x破解密码
Centos7.x破解密码 centos7 破解密码 重置Centos 7 Root密码的方式和Centos 6完全不同.让我来展示一下到底如何操作. 1 .在启动grub菜单,选择编辑选项启动 14 ...
- windows下使用linux命令搜文件
在linux系统的黑幕下,我们只能通过find命令来搜文件,而在windows的界面里,我们只能通过搜索框来搜.两者各有利弊,前者单调但高效,后者用户体验好却比较慢.能不能在windows使用linu ...
- 许多人问:FPGA是什么?
菇凉提问: 做FPGA开发多年,每次菇凉问我,什么是FPGA,我,我,我,不知道如何说起,难以回答. FPGA是一种器件.其英文名 feild programable gate array . 通俗来 ...
- HDOJ5875(线段树)
Function Time Limit: 7000/3500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total ...
- 减少TIME_WAIT时间的优化配置
减少TIME_WAIT时间的优化配置 建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: net.ipv4.tcp_max_syn_backlog=8192 增加TCP S ...
- 深入 innodb
深入innodbInnoDB表为IOT,采用了B+树类型,故每个页面至少要存储2行数据,如果行过大则会产生行溢出:理论上InnoDB表中varchar可存储65535字节,但对于InnoDB其实际上限 ...