本次测试的系统包含centos 7.2 64 bit,centos 7.3 64 bit

1. 安装

yum -y install etcd

2. 配置

此处一共准备了3台机器(10.10.10.100, 10.10.10.101, 10.10.10.102)

(1) etcd服务的配置和启动方式

启用etcd服务

systemctl enable etcd

修改服务配置 /etc/systemd/system/multi-user.target.wants/etcd.service,其中的启动指令(ExecStart=)

修改配置后,装载配置,重启服务

systemctl daemon-reload
systemctl restart etcd

启动成功后,可以看到新增加了2个监听端口:2379, 2380

(2) 集群配置

第1个节点(10.10.10.100) (注意:第一次启动时,--initial-cluster-state new,启动成功后,集群已经创建,此时需修改为  --initial-cluster-state existing。否则下次重启服务会失败。):

ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"etcd0\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"http://0.0.0.0:2379\" --listen-peer-urls=\"http://0.0.0.0:2380\" --advertise-client-urls=\"http://10.10.10.100:2379\" --initial-advertise-peer-urls=\"http://10.10.10.100:2380\" --initial-cluster-token=\"etcd-cluster-1\" --initial-cluster=\"etcd0=http://10.10.10.100:2380,etcd1=http://10.10.10.101:2380,etcd2=http://10.10.10.102:2380\" --initial-cluster-state new " 

后面的节点可以先手工添加信息:

etcdctl member add etcd1 http://10.10.10.101:2380
etcdctl member add etcd2 http://10.10.10.102:2380  

第2个节点(10.10.10.101):

ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"etcd1\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"http://0.0.0.0:2379\" --listen-peer-urls=\"http://0.0.0.0:2380\" --advertise-client-urls=\"http://10.10.10.101:2379\" --initial-advertise-peer-urls=\"http://10.10.10.101:2380\" --initial-cluster-token=\"etcd-cluster-1\" --initial-cluster=\"etcd0=http://10.10.10.100:2380,etcd1=http://10.10.10.101:2380,etcd2=http://10.10.10.102:2380\"  " 

第3个节点(10.10.10.102):

ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"etcd2\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"http://0.0.0.0:2379\" --listen-peer-urls=\"http://0.0.0.0:2380\" --advertise-client-urls=\"http://10.10.10.102:2379\" --initial-advertise-peer-urls=\"http://10.10.10.102:2380\" --initial-cluster-token=\"etcd-cluster-1\" --initial-cluster=\"etcd0=http://10.10.10.100:2380,etcd1=http://10.10.10.101:2380,etcd2=http://10.10.10.102:2380\" " 

启动成功后可以查看集群状态,member 列表

# etcdctl cluster-health
member 17294cb126466d4d is healthy: got healthy result from http://10.10.10.100:2379
member a17abe451cf50cbd is healthy: got healthy result from http://10.10.10.101:2379
member f4a143b3a5f1cdf7 is healthy: got healthy result from http://10.10.10.102:2379
cluster is healthy
# etcdctl member list
17294cb126466d4d: name=etcd2 peerURLs=http://10.10.10.100:2380 clientURLs=http://10.28.148.46:2379 isLeader=false
a17abe451cf50cbd: name=etcd0 peerURLs=http://10.10.10.101:2380 clientURLs=http://10.28.148.61:2379 isLeader=true
f4a143b3a5f1cdf7: name=etcd1 peerURLs=http://10.10.10.102:2380 clientURLs=http://10.28.148.57:2379 isLeader=false

docker (centOS 7) 使用笔记4 - etcd服务的更多相关文章

  1. docker (centOS 7) 使用笔记6 - skydns

    skydns被用于kubenets作为DNS服务.本次测试是单独使用skydns作为DNS服务器,且作为loadbalance使用. 前提:需要先安装配置etcd服务 (在前面的文章里,已经安装部署了 ...

  2. docker (centOS 7) 使用笔记2 - 使用nfs作为volume

    本次测试的服务器2台,服务器#1(centos7)最为docker容器所在的host,服务器#2(centos6)提供NFS服务 1. #2上配置NFS服务 (1) 安装nfs软件包 yum -y i ...

  3. docker (centOS 7) 使用笔记1

    1. docker配置 初次在安装完docker后,初始化配置 copy默认的docker.service后,重启服务,会在/etc/systemd/system/multi-user.target. ...

  4. Docker Swarm Mode 学习笔记 (部署服务)

    使用 docker service 命令来管理 Swarm 集群中的服务,该命令只能在管理节点上执行. 新建服务 docker service create --replicas 3 -p 80:80 ...

  5. docker (centOS 7) 使用笔记5 - weave网络

    weave官网 https://www.weave.works 1. 下载安装 sudo curl -L git.io/weave -o /usr/local/bin/weave sudo chmod ...

  6. docker (centOS 7) 使用笔记3 - docker swarm mode

    1. 什么是docker swarm mode docker engine自带的 容器管理 工具.功能比较早的 docker swarm 更多,且集成在docker engine里. (docker ...

  7. docker (centOS 7) 使用笔记3 - 修改docker默认的虚拟网址

    近日在使用VPN时发现和docker的虚拟网址发生了冲突,都是172.17.0.1,故需要修改docker的默认网址. 1. 当前状态 # ifconfig docker0: flags=<UP ...

  8. 物联网架构成长之路(22)-Docker练习之Etcd服务搭建

    0. 前言 时隔多日,前段时间忙完一个可有可无的项目后,又进入摸鱼时间,没有办法,非互联网公司,就是闲得蛋疼.又开始了自学之路.以前入门过Docker,然后又很久没有看了,最近重新看了一下,推荐一下这 ...

  9. Docker CentOS / Ubuntu容器开启 SSH 服务

    Docker CentOS / Ubuntu容器开启 SSH 服务 在CentOS容器内执行 yum install passwd openssl openssh-server -y # Ubuntu ...

随机推荐

  1. Android(java)学习笔记128:xml文件生成

    1.xml文件: 用元素描述数据,跨平台. 2.利用传统的方式创建xml文件,下面是一个案例: 设计思路:建立一个学生管理系统,创建xml文件保存学生信息: (1)首先是布局文件activity_ma ...

  2. cv2.solvepnp 相机的位姿估计

    预备知识   图像坐标系:   理想的图像坐标系原点O1和真实的O0有一定的偏差,由此我们建立了等式(1)和(2),可以用矩阵形式(3)表示. 相机坐标系(C)和世界坐标系(W): 通过相机与图像的投 ...

  3. Python XML 解析

    什么是 XML? XML 指可扩展标记语言(eXtensible Markup Language). XML 被设计用来传输和存储数据. XML 是一套定义语义标记的规则,这些标记将文档分成许多部件并 ...

  4. kubernetes监控-Heapster+InfluxDB+Grafana(十五)

    cAdvisor+InfluxDB+Grafana cAdvisor:是谷歌开源的一个容器监控工具,采集主机上容器相关的性能指标数据.比如CPU.内存.网络.文件系统等. Heapster是谷歌开源的 ...

  5. 《剑指offer》56 数组中只出现一次的数字

    题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.   在线练习:https://www.nowcoder.com/practice/e02fdb5 ...

  6. JavaScript的基础知识

    1,标识符 标识符是程序中常量或变量命名的一种术语称呼,并不是所有的字符组成都是一个合法的标识符,规范如下: 标识符的组成部分可以是字母,数字,下划线或美元($)符号 标识符开头是字母,下划线或美元( ...

  7. A. Vitya in the Countryside

    A. Vitya in the Countryside time limit per test 1 second memory limit per test 256 megabytes input s ...

  8. linux :没有找到 ifconfig netstat

    linux :没有找到 ifconfig netstat ubuntu sudo apt install net-tools -y centos yum install net-tools

  9. com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 3 字节的 UTF-8 序列的字节 x 无效

    在启动Tomcat项目时,控制台报错:nested exception is com.sun.org.apache.xerces.internal.impl.io.MalformedByteSeque ...

  10. destoon修改手机端分页

    1. global.func.php pages函数和listpages函数 函数开头增加 $DT_TOUCH,$newsamplepages变量 global $DT_URL, $DT, $L,$D ...