ETCD基本操作

目录

一.etcd简介

二.主要功能介绍

三.安装与配置(Linux下操作)

四.主要命令:

一.etcd简介

    etcd是一个开源的、分布式的键值对数据存储系统。

    用于储存key-value键值对,同时它不仅仅是存储,它主要用途是提供共享配置及服务发现,(后面这两个特征非常有特          点,主要用于container中),对于 leader的选举非常优秀,他的leader选举更换对于前端是无感知的。

    应用容器读写数据在etcd上,除此嗨哟偶支持快照及查看历史事件的功能。

       数据模型:

   etcd的数据模型是非常有特点的。

   一个持久的、多版本的并发控制数据模型(这有点类似与svn),也就是说All past cersions of keys are still accessible and watchable after modification,同时对于旧数据,它会进行压缩存储区,丢弃最旧的版本,防止数据库数据暴涨(只要有数据的压缩,就会覆盖最旧版本的数据)。

   Note:etcd适用于较小的元数据键值对的处理,对于大的键值对数据的处理会导致其他请求时间的增加,数据目前最大支持1m数据的RPC(远程过程调用)请求,目前来说没有办法实现更大的数据配置。

二.主要功能介绍

       1.键值写入与读取

       2.过期时间

       3.观察者

       4.租约

       5.集群管理相关操作

       6.维护操作

       7.用户及权限管理 

三.安装与配置(Linux下操作)

      1.系统要求:Linux、Windows(实验版本)

      2.硬件要求:x86-64位架构的CPU、8CPU、16G RAM、50G SSD硬盘

      3.安装步骤:

          >下载安装文件:到https://github.com/coreos/etcd/releases下载linux-amd64版本。例如:etcd-v3.3.10-liunx-amd64.tar.gz

          >或者直接:wget https://guthub.com/coreos/etcd/releases/download/v3.3.10/etcd-v3.3.10-liunx-amd64.tar.gz

          >sudo tar -zxvf etcd-v3.3.10-liunx-amd64.tar.gz -C /opt/   (-c /opt/   自定义安装目录)

      4.配置:

           -配置为v3版本;系统默认v2,通过下面命令修改配置

           >sudo vim /etc/profile   在末尾加上 export ETCDCTL_API=3

           >source /etc/profile

      5.配置节点(建议节点数量为3,5,7,9....一般都是奇数,选举的时候多数承认leader,偶数选举leader):

          ---示例三个节点:192.168.108.128节点1,192.168.108.129节点2,192.168.108.130节点3

      6.创建节点配置文件:

          --创建配置文件目录

          >sudo mkdir /etc/etcd

          创建etcd配置文件

          >sudo vim /etc/etcd/conf.yml

          -添加如下内容

          >name:etcd-1

          >data-dir:/opt/etct-v3.3.10-liunx-amd64/data  (安装时自定路径,看一下自己安装路径)

          >listen-client-urls:http://192.168.10.128:2379,http://127.0.0.1:2379   (ip地址192.168.10.128,是自己本机地址)

          >advertise-client-urls:http:/192.168.10.128:2379,http://127.0.0.1:2379  (192.168.10.128,本机IP地址)

          >listen-peer-urls:http://192.168.108.128:2380(192.168.10.128,本机IP地址)

          >initial-advertise-peer-urls:http://192.168.108.128:2380  (192.168.10.128,本机IP地址)

          >initial-cluster:etcd-1=http://192.168.108.128:2380,etcd-2=http://192.168.108.129:2380(这个是配置集群ip,有几台配置几台IP地址)

          >initial-cluster-token:etcd-cluster-token

          >initial-cluster-state:new

          完成配置、启动

          查看版本号

              >cd /opt/etcd-v3.3.10/

              >./etcdctl version

          启动:

              $./etcd --config-file=/etc/etcd/conf.yml

          查看集群成员信息:

              $./etcdctl member list

          查看集群状态(leader节点):

              $./stcdctl cluster-health

          查看leader状态:

               $curl http://127.0.0.1:2379/v2/stats/leader

          查看自己的状态:

               $cur http://127.0.0.1:2379/v2/stats/self

四.主要命令:

         1>键值写入与读取

              $./etcdctl set /message Hello   (key是message  valus是Hello)

              $./etcdctl get /message 

              $./etcdctl get mess -prefix   (后面加上-frefix, 模糊查询已key mess开头查询)

              $./etcdctl rm /message   (删除key)

          2>过期时间

              $ ./etcdctl set -ttl 10 /message Hello   (设置10秒)

          3>观察者

                在一个终端:

                    $ cur http://127.0.0.1:2379/v2/keys/foo?wait=true

                该终端会进入等待返回状态

     然后在另一个终端去改变它的值

     $ cur hrrp://127.0.0.1:2379/v2/keys/foo -XPUT -d value =bar

4>   原子操作

       当条件成立时设置key值

       $ curl http://127.0.0.1:2379/v2/keys/foo?prevExist=false -XPUT -d value =three

       支持的判断条件 :prevValue,prevlndex,preExist

       当条件成立时删除 key

       $curl http://127.0.0.1:2379/v2/keys/foo?preValue=two -XDELETE

       支持的判断条件有:prevValue,prevlndex

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值