zoukankan      html  css  js  c++  java
  • Etcd入门教程

    etcd是一个类似于zk的工具,用于保存值,节点-值这种映射关系的。节点组织结构类似unix文件系统结构,从/最开始。比如一个/test/name节点,值为guanxianseng。可以通过etcdctl这个客户端,执行命令

    etcdctl set /test/name guanxianseng

    也可以通过客户端命令,获取我们设置的值

    etcdctl get /test/name

    当然这里返回的值就是

    guanxianseng

    我们之前设置的

    这里etcd与zk还是有区别的。首先,zk使用的是ZAB协议,是雅虎在POXOS协议上修改的。etcd用的是raft协议,也是PAXOS协议的精简版。通过选择leader,客户端将request提交给集群,集群把request打到leader。leader将request发给集群中其余节点,进行询问、提交等动作,保证一致性。

    当然,etcd和zk还有其他一些区别。以后,想看的时候在去找找

    1. 安装etcd

    1.1 如果是centos可以通过

    yum install etcd

    进行安装

    如果是ubuntu,可以通过

    apt-get install etcd

    这里ubuntu我是猜的,centos我在vmware里面试过可以的。这里可能需要用到root权限。个人比较喜欢root权限,方便

    这里,我想吐槽一下ubuntu,经常跳什么出现内部错误。很烦人,centos感觉稳定很多,突然觉得ubuntu很low

    1.2 通过官网

    https://github.com/coreos/etcd/releases/

    下载对应的版本,解压,执行etcd和etcdctl就可以了

    1.3 验证安装成功

    启动etcd

    etcd

    执行客户端命令

    etcdctl -verison

    客户端输出对应的版本号

    etcdctl version: 3.1.7
    API version: 2

    OK,安装成功。其实,就是一解压过程

    2. 客户端使用

    2.1 可以通过etcdctl在bash里面执行对应的客户端命令。如前面所说的,etcdctl set name guanxianseng ,get命令等

    2.2 使用java客户端操作

    etcd java客户端有很多,比如etcd4j

    https://github.com/adohe/etcd4j

    jetcd

    https://github.com/diwakergupta/jetcd

    我这里使用的是etcd4j

    maven依赖

    <dependency>
        <groupId>com.xqbase</groupId>
        <artifactId>etcd4j</artifactId>
        <version>1.2</version>
    </dependency>

    ...

    照着etcd4j的说明文档来就是了

    3. etcd集群

    现在,服务器为了高可用,都会搭建集群,防止单点故障。这里etcd也可以搭建集群,不过单机搭建伪集群好像不好弄。经常提示端口已被占用,没有那么多机器。以后用到了在说吧。

  • 相关阅读:
    mysql安装前的系统准备工作(转)
    mysql多实例的配置(转)
    饼干怪兽和APT攻击
    Linux
    android application简要类(一)
    轨道sql谈话 dbms_monitor
    Android有关Volley使用(十)至Request和Reponse意识
    data URI scheme及其应用
    java在string和int相互转化
    ComponentName意思
  • 原文地址:https://www.cnblogs.com/luckygxf/p/7096763.html
Copyright © 2011-2022 走看看