原文地址:Setting up local clusters

设置单节点集群

对于测试环境与开发环境,最快速与简单的方式是配置一个本地集群。对于生产环境,参考集群部分。

本地单节点集群

启动一个集群

运行以下命令来部署一个单节点的etcd集群:

$ ./etcd
...

如果etcd二进制文件不在当前工作目录,那可能位于$GOPATH/bin/etcd或者是/usr/local/bin/etcd.合适地运行命令。

运行的etcd成员在localhost:2379监听客户端的请求。

与集群进行交互

使用etcdctl与运行中的集群进行交互操作

1. 例子:在集群中存储一个键值对:

$ ./etcdctl put foo bar
OK

如果OK被打印在控制台,说明已经成功存储Key-Value对。

2. 获取键foo对应的值:

$ ./etcdctl get foo
bar

如果bar被返回,说明与etcd集群的交互操作和期望中的相同。

本地多节点集群

启动一个集群

etcdgit仓库中存在一个Procfile文件提供一种简单的方式可以对本地多节点集群进行配置。在启动多节点集群之前,将工作目录导向etcd的根目录并执行以下操作:

1.    安装`goreman`控制基于`Procfile`的应用:
```
$ go get github.com/mattn/goreman
```
2. 使用 `etcd`的配置文件`Procfile`通过`goreman`启动一个集群:
```
$ goreman -f Procfile start
```
集群成员已经启动了,并在`localhost:2379`,localhost:22379`,localhost:32379`监听客户端的请求。
与集群进行交互

使用etcdctl与运行中的集群进行交互操作:

1. 打印成员列表:
$ `etcdctl --write-out=table --endpoints=localhost:2379 member list`
`etcd`集群中的成员列表显示如下:
ID STATUS NAME PEER ADDRS CLIENT ADDRS
8211f1d0f64f3269 started infra1 http://127.0.0.1:2380 http://127.0.0.1:2379
91bc3c398fb3c146 started infra1 http://127.0.0.1:22380 http://127.0.0.1:22379
fd422379fda50e48 started infra1 http://127.0.0.1:32380 http://127.0.0.1:32379
2.     例子:在集群中存储一个Key-Value对:
$ ./etcdctl put foo bar
OK

如果OK被打印在控制台,说明已经成功存储键-值对。

容错测试

关闭一个成员然后尝试通过键获取值来进行容错测试:

  1. 获取一个运行中的成员的名字然后停止它:

    Procfile列出了多节点集群的属性信息。例如,名称为etcd2的运行中的成员。
  2. 停止该成员:
#kill etcd2
$ goreman run stop etcd2

3.存储一个键:

$ etcdctl put key hello
OK

4.获取前一步所存储的键:

$ etcdctl get key
hello

5.从已经停止的成员处获取键:

$ etcdctl --endpoints=localhost:22379 get key

该命令应该由于连接失败展示一个错误:

2017/06/18 23:07:35 grpc: Conn.resetTransport failed to create client transport: connection error: desc = "transport: dial tcp 127.0.0.1:22379: getsockopt: connection refused"; Reconnecting to "localhost:22379"
Error: grpc: timed out trying to connect

6.重启停止的成员:

$ goreman run restart etcd2

7.从重启的成员处获取键:

$ etcdctl --endpoints=localhost:22379 get key
hello

重启的成员重新建立了连接.etcdctl将能够成功地从重启的成员处接受键,读与etcd进行交互部分学习更多关于与etcd交互的内容。

ETCD:单机单节点的更多相关文章

  1. HyperLedger Fabric 1.1 手动部署单机单节点

    手动部署单机单节点 之前发布过官方的e2e部署方案,由于环境或是访问权限等各种问题,还是有相当一部分码友无法成功跑起来,故此,本章将来一次纯手动操作的集群部署. 主要需要的步骤如下: 1:环境整理 2 ...

  2. HyperLedger Fabric 1.4 单机单节点部署(10.2)

    单机单节点指在一台电脑上部署一个排序(Orderer)服务.一个组织(Org1),一个节点(Peer,属于Org1),然后运行官方案例中的example02智能合约例子,实现转财交易和查询功能.单机单 ...

  3. zookeeper单节点和多节点配置

    单机单节点模式 zookeeper解压, 放到 /opt/zookeeper/下, 新建一个latest的软链 $ latest 将 conf/zoo-sample.cfg 重命名为 zoo.cfg, ...

  4. hadoop2.7【单节点】单机、伪分布、分布式安装指导

    问题导读 1.从本文部署实际部署,总结本地模式.伪分布.分布式的区别是什么?2.单机是否是伪分布?3.本地模式是否可以运行mapreduce? 来源:about云 http://www.aboutyu ...

  5. (一)Hadoop1.2.1安装——单节点方式和单机伪分布方式

    Hadoop1.2.1安装——单节点方式和单机伪分布方式 一.   需求部分 在Linux上安装Hadoop之前,需要先安装两个程序: 1)JDK 1.6(或更高版本).Hadoop是用Java编写的 ...

  6. 部署k8s集群之环境搭建和etcd单节点安装

    环境搭建以及etcd 单节点安装过程 安装之前的环境搭建 在进行k8s安装之前先把虚拟机准备好,这里准备的是三台虚拟机 主机名 ip地址 角色 master 172.16.163.131 master ...

  7. K8s二进制部署单节点 etcd集群,flannel网络配置 ——锥刺股

    K8s 二进制部署单节点 master    --锥刺股 k8s集群搭建: etcd集群 flannel网络插件 搭建master组件 搭建node组件 1.部署etcd集群 2.Flannel 网络 ...

  8. [源码解析] PyTorch 分布式之弹性训练(2)---启动&单节点流程

    [源码解析] PyTorch 分布式之弹性训练(2)---启动&单节点流程 目录 [源码解析] PyTorch 分布式之弹性训练(2)---启动&单节点流程 0x00 摘要 0x01 ...

  9. Hbase入门教程--单节点伪分布式模式的安装与使用

    Hbase入门简介 HBase是一个分布式的.面向列的开源数据库,该技术来源于 FayChang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就像 ...

随机推荐

  1. Django之CBV视图源码分析(工作原理)

    1.首先我们先在urls.py定义CBV的路由匹配. FBV的路由匹配: 2.然后,在views.py创建一名为MyReg的类: 注意:该类必须继续View类,且方法名必须与请求方式相同(后面会详解) ...

  2. CodeForces - 1214D B2. Books Exchange (hard version)

    题目链接:http://codeforces.com/problemset/problem/1249/B2 思路:用并查集模拟链表,把关系串联起来,如果成环,则满足题意.之后再用并查集合并一个链,一个 ...

  3. 设计模式(十六)Mediator模式

    在实际的工作小组的交流过程是,组员向仲裁者报告,仲裁者向组员下达指示,组员之间不再互相询问和指示.Mediator模式是指,当发生麻烦事情的时候,通知仲裁者:当发生涉及全体组员的事情时,也通知仲裁者. ...

  4. Java基础(二)数据类型

    数据类型主要分为基本类型和引用类型两大类. 一.基本类型 1.基本类型又分为数值类型和boolean类型, (1)数值类型包括浮点数类型.整数类型和字符类型 整型                    ...

  5. 使用VS2013操作MYSQL8 (ADO.NET方式 & EF6)

    今天有时间测试了一下通过.net环境操作MYSQL数据库,测试过程及结果记录如下: 1.MYSQL安装 (1)我是从MYSQL官网下载的最新版,即MYSQL8.0,在MySql官网的下载页面,找到“M ...

  6. FPGA时序约束理解记录

    最近整理了一下时序约束的内容,顺便发出来分享记录一下. 任何硬件想要工作正常,均需满足建立和保持时间,至于这个概念不再陈述. 下面将重点介绍两个概念:建立余量和保持余量.FPGA内部进行时序分析无非就 ...

  7. 使用asp.net core 3.0 搭建智能小车2

    上一篇中我们把基本的运行环境搭建完成了,这一篇中,我们实战通过树莓派B+连接HC-SR04超声波测距传感器,用c# GPIO控制传感器完成距离测定,并将距离显示在网页上. 1.HC-SR04接线 传感 ...

  8. Lab_1:练习3——分析bootloader进入保护模式的过程

    文章链接:https://www.cnblogs.com/cyx-b/p/11809742.html 作者:chuyaoxin 一.实验内容 BIOS将通过读取硬盘主引导扇区到内存,并转跳到对应内存中 ...

  9. nginx篇高级之优化整理

    优化思路: 一.修改连接数和工作线程让其支持更多的并发量. worker_processes 2;                    //与CPU核心数量一致 worker_connections ...

  10. python学习之【第十二篇】:Python中的迭代器

    1.为何要有迭代器? 对于序列类型:字符串.列表.元组,我们可以使用索引的方式迭代取出其包含的元素.但对于字典.集合.文件等类型是没有索引的,若还想取出其内部包含的元素,则必须找出一种不依赖于索引的迭 ...