• etcd的安装和使用


    安装及启动


    在Mac上,推荐使用brew安装

    brew install etcd

    可以使用etcd启动服务,但更推荐使用 brew services 来管理使用brew安装的应用~

    # 启动某个应用,这里用 etcd 做演示
    brew services start etcd

    # 停止某个应用
    brew services stop etcd

    # 查看当前应用列表
    # 可以看到相关应用的状况
    brew services list 
    • 1

    相关操作


    验证是否成功启动:

    etcdctl endpoint health

    curl -L http://172.16.101.55:2379/health

    查看版本:

    curl http://127.0.0.1:2379/version

    alt

    V3.4版本之后默认是V3接口,不再支持V2:

    etcd v3使用gRPC作为其消息传递协议。 etcd项目包括一个基于gRPC的Go客户端和一个命令行实用程序etcdctl,用于通过gRPC与etcd集群进行通信。 对于不支持gRPC的语言,etcd提供了JSON gRPC网关。 该网关提供一个RESTful代理,该代理将HTTP/JSON请求转换为gRPC消息

    ETCD v3 restful api 使用详解

    v2和v3接口差异较大, 如果想继续使用v2, 需要在启动时指定 --enable-v2=true,否则直接请求v2的api会报404

    etcd --enable-v2=true:

    alt

    (下面继续使用v2接口)

    • 查看key:

    curl 127.0.0.1:2379/v2/keys

    • 新建key:

    (如果key之前存在,则默认会先删除,再新建一个key。如果想要直接update,则需追加 -d prevExist=true,但若加该参数,如果key之前不存在会报错)

    curl 127.0.0.1:2379/v2/keys/ckl -XPUT -d value="shuang"

    alt
    • 创建目录:

    curl 127.0.0.1:2379/v2/keys/mulu666 -XPUT -d dir=true

    alt
    • 创建带ttl的键值(单位为秒):

    curl 127.0.0.1:2379/v2/keys/key_with_expired_time -XPUT -d value='这是key的值,这个key生命周期是5s' -d ttl=5

    alt
    • 创建有序键值:
    curl 127.0.0.1:2379/v2/keys/beauty -XPOST -d value="西施"
    curl 127.0.0.1:2379/v2/keys/beauty -XPOST -d value="昭君"
    curl 127.0.0.1:2379/v2/keys/beauty -XPOST -d value="貂蝉"
    curl 127.0.0.1:2379/v2/keys/beauty -XPOST -d value="杨玉环"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    alt
    • 删除指定的键:

    curl 127.0.0.1:2379/v2/keys/ckl -XDELETE

    alt
    • 列出所有的集群成员:

    curl 127.0.0.1:2379/v2/members

    • 查看leader:

    curl 127.0.0.1:2379/v2/stats/leader

    alt
    • 查看集群运行状态:

    curl 127.0.0.1:2379/v2/stats/store

    alt

    除去restful Api,etcdctl命令行也支持相关操作,如:

    • 放入一个 键值对:

    etcdctl put "myname" "fliter"

    • 取出一个 键值对 etcdctl get "myname"

    • 删除一个 键值对 etcdctl del "myname"

    alt

    命令行操作和resuful Api操作应该是互通的。但看起来数据居然没有共通,有点奇怪...


    不错的GUI


    有一些还不错的第三方开源UI,可以界面化查看和操作

    比如 etcd-manage

    例如,可以在界面新增key,或修改内容等

    alt

    看起来和etcdctl是通的,神奇的是和restful Api不通...

    alt

    本文由 mdnice 多平台发布

  • 相关阅读:
    C语言malloc()的使用解释和报错以及读值错误分析
    固定资产台账怎么管理
    [免费专栏] Android安全之Android加密算法浅析
    美食杰项目(二)首页
    174. 地下城游戏 -- 动规
    4、数据完整性
    PLC中ST编程的无符号数逻辑运算
    基于 SpringBoot+Vue的电影影城管理系统,附源码,数据库
    【考研】操作系统——同步互斥问题(P、V操作)4
    rv1126-rv1109-NFS功能
  • 原文地址:https://blog.csdn.net/techdashen/article/details/133090174