zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    CF980E The Number Games
    UVALive 2995 Image Is Everything
    CF1148F Foo Fighters
    CF22E Scheme
    CF1045G AI robots
    学习笔记 并查集维护区间删除
    HEOI 十二省联考退役记
    立方网面试题总结
    Django学习排错备注
    追求卓越之旅(转)
  • 原文地址:https://www.cnblogs.com/suraer/p/8623767.html
Copyright © 2011-2022 走看看