ETCD:单机单节点
原文地址: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集群的交互操作和期望中的相同。
本地多节点集群
启动一个集群
在etcd的git仓库中存在一个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被打印在控制台,说明已经成功存储键-值对。
容错测试
关闭一个成员然后尝试通过键获取值来进行容错测试:
- 获取一个运行中的成员的名字然后停止它:
Procfile列出了多节点集群的属性信息。例如,名称为etcd2的运行中的成员。 - 停止该成员:
#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:单机单节点的更多相关文章
- HyperLedger Fabric 1.1 手动部署单机单节点
手动部署单机单节点 之前发布过官方的e2e部署方案,由于环境或是访问权限等各种问题,还是有相当一部分码友无法成功跑起来,故此,本章将来一次纯手动操作的集群部署. 主要需要的步骤如下: 1:环境整理 2 ...
- HyperLedger Fabric 1.4 单机单节点部署(10.2)
单机单节点指在一台电脑上部署一个排序(Orderer)服务.一个组织(Org1),一个节点(Peer,属于Org1),然后运行官方案例中的example02智能合约例子,实现转财交易和查询功能.单机单 ...
- zookeeper单节点和多节点配置
单机单节点模式 zookeeper解压, 放到 /opt/zookeeper/下, 新建一个latest的软链 $ latest 将 conf/zoo-sample.cfg 重命名为 zoo.cfg, ...
- hadoop2.7【单节点】单机、伪分布、分布式安装指导
问题导读 1.从本文部署实际部署,总结本地模式.伪分布.分布式的区别是什么?2.单机是否是伪分布?3.本地模式是否可以运行mapreduce? 来源:about云 http://www.aboutyu ...
- (一)Hadoop1.2.1安装——单节点方式和单机伪分布方式
Hadoop1.2.1安装——单节点方式和单机伪分布方式 一. 需求部分 在Linux上安装Hadoop之前,需要先安装两个程序: 1)JDK 1.6(或更高版本).Hadoop是用Java编写的 ...
- 部署k8s集群之环境搭建和etcd单节点安装
环境搭建以及etcd 单节点安装过程 安装之前的环境搭建 在进行k8s安装之前先把虚拟机准备好,这里准备的是三台虚拟机 主机名 ip地址 角色 master 172.16.163.131 master ...
- K8s二进制部署单节点 etcd集群,flannel网络配置 ——锥刺股
K8s 二进制部署单节点 master --锥刺股 k8s集群搭建: etcd集群 flannel网络插件 搭建master组件 搭建node组件 1.部署etcd集群 2.Flannel 网络 ...
- [源码解析] PyTorch 分布式之弹性训练(2)---启动&单节点流程
[源码解析] PyTorch 分布式之弹性训练(2)---启动&单节点流程 目录 [源码解析] PyTorch 分布式之弹性训练(2)---启动&单节点流程 0x00 摘要 0x01 ...
- Hbase入门教程--单节点伪分布式模式的安装与使用
Hbase入门简介 HBase是一个分布式的.面向列的开源数据库,该技术来源于 FayChang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就像 ...
随机推荐
- 03 Node.js学习笔记之根据http请求路径返回不同数据
在Nodejs中,当客户端请求的路径不同时,NodeJS处理返回不同的数据 步骤: //1.载入http模块 var http=require('http'); //2.创建一个http服务 var ...
- ExtJs 扩展类CheckColumn修改源码,支持按条件禁用启用下拉框功能
长话短说,具体的请看图 需求如图: 修改CheckColumn.js源码,添加鼠标点击改变事件 完整JS脚本 Ext.ns('Ext.ux.grid'); Ext.ux.grid.CheckColum ...
- 你真的了解java序列化吗
问:可是我这个实体类,没有实现序列化那个接口,也能存到数据库,这是为什么呢? 想不通!我是用的注解和hibernate框架弄的! 难道说不实现序列化接口也能保存数据?不应该啊. @Entity pub ...
- Java properties | FileNotFoundException: properties (系统找不到指定的文件。)
文件存储路径的问题 错误描述 :FileNotFoundException: init.properties (系统找不到指定的文件.) 1.方法一 InputStream fis =TestProp ...
- (23)ASP.NET Core EF关系数据库建模
1.简介 一般而言,本部分中的配置适用于关系数据库.安装关系数据库提供程序时,此处显示的变为可用扩展方法(原因在于共享的Microsoft.EntityFrameworkCore.Relational ...
- Android_Fragment
(一) Faragment有自己的生命周期 Fragment依赖于Activity Fragmen通过getActivity()可以获取所在Activity:Activity通过FragmentMan ...
- 使用Bind提供域名解析服务(正向解析)
小知识: 一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了. DNS域名 ...
- 关于之前玩emacs记的些笔记
移动 C-v 向前翻页 M-v 向后翻页 C-l 当前行居中显示 继续按会依次到上,下,中 C-x C-c 退出 C-g 退出一个正在运行的命令,还可以取消数字参数和只输入到一半的命令 ...
- Python 中 -m 的典型用法、原理解析与发展演变
在命令行中使用 Python 时,它可以接收大约 20 个选项(option),语法格式如下: python [-bBdEhiIOqsSuvVWx?] [-c command | -m module- ...
- Kubernetes4-web管理界面
一.简介 1.环境 环境还是前面的环境 2.Kubernetes Dashboard web界面 kubernetes dashboard (仪表盘)是一个将通用的基于web的监控和操作界面加入kub ...