Etcd入门教程

摘要:
Etcd是一个类似于zk的工具,用于保存值和节点值之间的映射。Etcd使用raft协议,这也是PAXOS协议的简化版本。领导者将请求发送到集群中的其他节点,以进行查询、提交和其他操作,以确保一致性。当然,etcd和zk之间还有其他区别。事实上,这是一个解压过程。2.客户端可以使用2.1通过etcdctl在bash中执行相应的客户端命令。在这里,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也可以搭建集群,不过单机搭建伪集群好像不好弄。经常提示端口已被占用,没有那么多机器。以后用到了在说吧。

免责声明:文章转载自《Etcd入门教程》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇RocketMQ事务消费和顺序消费详解asp中接收到querystring是utf8编码的处理方式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

3.kubernetes的CNI网络插件-Flannel

目录 1.1.K8S的CNI网络插件-Flannel 1.1.1.集群规划 1.1.2.下载软件、解压、软链接 1.1.3.最终目录结构 1.1.4.拷贝证书 1.1.5.创建配置 1.1.6.创建启动脚本 1.1.7.检查配置、权限、创建日志目录 1.1.8.操作etcd、增加host-gw 1.1.9.创建supervisor配置 1.1.10.启动服...

etcd集群日常维护

配置文件和启动参数说明 命令行 | 配置文件 | 说明 data-dir | ETCD_DATA_DIR | 指定节点的数据存储目录,包括节点ID,集群ID...

etcd 开启auth认证

一、概述 1、etcd的v2和v3的认证有些不同,需要分别设置2、Etcd通过用户(user)-角色(role)-权限的方式来控制访问,用户关联角色,角色拥有权限,从而用户也就拥有了相应的权限3、Etcd开启Basic Auth之后,默认会启用两个角色root和guest,root角色拥有所有权限,guest拥有只读权限,这两个角色都不要删除 二、授权 v...

kubernetes之kubeadm 安装kubernetes 高可用集群

1. 架构信息 系统版本:CentOS 7.6内核:3.10.0-957.el7.x86_64 Kubernetes: v1.14.1Docker-ce: 18.09.5推荐硬件配置:4核8G Keepalived保证apiserever服务器的IP高可用 Haproxy实现apiserver的负载均衡 2. 节点信息 目前测试为 6 台虚拟机,etcd...

微服务架构学习与思考(08):服务注册中心(服务注册与服务发现)

为什么会有服务注册中心 为什么会有服务注册中心? 在 client-server 服务-请求模式中,客户端发送请求到服务端,完成一次服务请求。这时候,开发也比较简单,写服务端代码就可以完成这种模式了。 但是,随着业务的发展,功能会越来越多,对外提供的服务也会随之增多。 服务越来越多,怎么才能对众多服务进行简单高效的管理?由原静态的,变更(比如增加、删除等)...

虚拟机搭建Kubespere3.0(详细)

前言:不断学习就是程序员的宿命。 相对于rancher,我个人更倾向于kubespere,因为它界面确实比较吸引我,废话不多扯,下面开始吧 1.环境准备 1.前置要求 虚拟机:centos7.6~7.8!!! 以下:https://kuboard.cn/install/install-k8s.html#%E6%A3%80%E6%9F%A5-centos-...