原文地址: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. liunux中的标准输出。以及常用的 2>dev/null 命令的含义

    了解Linux怎样处理输入和输出是非常重要的.一旦我们了解其原理以后,我们就可以正确熟练地使用脚本把内容输出到正确的位置.同样我们也可以更好地理解输入重定向和输出重定向. 首先我们来了解一下linux ...

  2. ESP8266开发之旅 网络篇⑧ SmartConfig——一键配网

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  3. javascript函数前面加~波浪线的作用

    如下,在函数前加上波浪号,其作用是把函数声明转换为表达式,这样就可以直接运行. ~function sayHello(){ console.log('hello'); }() 测试: 在console ...

  4. JAVA eclipse 问题汇总(持续更新)

    解决eclipse中文字很小 新下载的eclipse4.2.1版本,显示中文字体很小,但是英文比较正常.网上查看要更改字体大小,但是更改后英文也变大了,不是想要的结果.window – prefere ...

  5. 存储路径与文件目录操作ZT

    转自:https://www.cnblogs.com/zrr-notes/p/5953445.html (一)基本存储位置 我们的app在手机中存放的路径是:/var/mobile/Applicati ...

  6. Java ArrayList底层实现原理源码详细分析Jdk8

    简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存. ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用 ...

  7. Alpha阶段--第七周Scrum Meeting

    任务内容 本次会议为第六周的Scrum Meeting会议 召开时间为周日下午5点,在潮音餐厅召开,召开时间约为30分钟,对已经完成项目的总结和对今后项目设计的展望 队员 任务 张孟宇 “我的”界面代 ...

  8. [AI开发]零数学公式告诉你什么是(卷积)神经网络

    大部分介绍神经网络的文章中概念性的东西太多,而且夹杂着很多数学公式,读起来让人头疼,尤其没什么基础的人完全get不到作者想要表达的思想.本篇文章尝试零公式(但有少量数学知识)说清楚什么是神经网络,并且 ...

  9. Ajax自我总结

    一念起.万水千山皆有情. 一念灭.沧海桑田已无心.     ------ 随记 本文主要针对ajax原理介绍,很少涉及实例,主要用于对知识的梳理总结,方便以后学习和查询... Ajax 一.Ajax是 ...

  10. API gateway 之 kong 基本介绍 (一)

    一.API网关概念介绍 API 网关,即API Gateway,是大型分布式系统中,为了保护内部服务而设计的一道屏障,可以提供高性能.高可用的 API托管服务,从而帮助服务的开发者便捷地对外提供服务, ...