相关阅读:

etcd教程(零)---etcd使用过程中遇到的问题 -

etcd教程(二)---clientv3简单使用 -

etcd教程(三)---etcd之v3API简单分析 -

本文主要记录了如何通过docker-compose来搭建etcd,包括单节点和集群模式及其web监控

一. 单节点

1. 目录结构

/usr/local/docker/etcd--/data--docker-compose.yml

2. docker-compose.yml

version: '3'
networks:myetcd_single:
services:etcd:image: quay.io/coreos/etcdcontainer_name: etcd_singlecommand: etcd -name etcd1 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -listen-peer-urls http://0.0.0.0:2380ports:- 12379:2379- 12380:2380volumes:- ./data:/etcd-datanetworks:- myetcd_singleetcdkeeper:image: deltaprojects/etcdkeepercontainer_name: etcdkeeper_singleports:- 8088:8080networks:- myetcd_single

3. 相关参数

参数 作用
name 节点名称
data-dir 指定节点的数据存储目录
listen-client-urls 对外提供服务的地址:比如 http://ip:2379,http://127.0.0.1:2379 ,客户端会连接到这里和 etcd 交互
listen-peer-urls 监听URL,用于与其他节点通讯
advertise-client-urls 对外公告的该节点客户端监听地址,这个值会告诉集群中其他节点
initial-advertise-peer-urls 该节点同伴监听地址,这个值会告诉集群中其他节点
initial-cluster 集群中所有节点的信息,格式为 node1=http://ip1:2380,node2=http://ip2:2380,… 。注意:这里的 node1 是节点的 –name 指定的名字;后面的 ip1:2380 是 –initial-advertise-peer-urls 指定的值
initial-cluster-state 新建集群的时候,这个值为 new ;假如已经存在的集群,这个值为 existing
initial-cluster-token 创建集群的 token,这个值每个集群保持唯一。这样的话,如果你要重新创建集群,即使配置和之前一样,也会再次生成新的集群和节点 uuid;否则会导致多个集群之间的冲突,造成未知的错误

4. 启动

docker-compose up
#后台启动增加`-d`参数
docker-compose up -d

二. 伪集群

1. 目录结构

/usr/local/docker/etcd--/data--/etcd1--/etcd2--/etcd3--docker-compose.yml

2. docker-compose.yml

version: '3'
networks:myetcd:services:etcd1:image: quay.io/coreos/etcdcontainer_name: etcd1command: etcd -name etcd1 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -listen-peer-urls http://0.0.0.0:2380 -initial-cluster-token etcd-cluster -initial-cluster "etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380" -initial-cluster-state newports:- 12379:2379- 12380:2380volumes:- ./data/etcd1:/etcd-datanetworks:- myetcdetcd2:image: quay.io/coreos/etcdcontainer_name: etcd2command: etcd -name etcd2 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -listen-peer-urls http://0.0.0.0:2380 -initial-cluster-token etcd-cluster -initial-cluster "etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380" -initial-cluster-state newports:- 22379:2379- 22380:2380volumes:- ./data/etcd2:/etcd-datanetworks:- myetcdetcd3:image: quay.io/coreos/etcdcontainer_name: etcd3command: etcd -name etcd3 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -listen-peer-urls http://0.0.0.0:2380 -initial-cluster-token etcd-cluster -initial-cluster "etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380" -initial-cluster-state newports:- 32379:2379- 32380:2380volumes:- ./data/etcd3:/etcd-datanetworks:- myetcdetcdkeeper:image: deltaprojects/etcdkeepercontainer_name: etcdkeeperports:- 8088:8080networks:- myetcd

3. 启动

docker-compose up
#后台启动增加`-d`参数
docker-compose up -d

4. 查看集群信息

[root@localhost etcd3]# curl -L http://127.0.0.1:32379/v2/members{"members":[{"id":"ade526d28b1f92f7","name":"etcd1","peerURLs":["http://etcd1:2380"],"clientURLs":["http://0.0.0.0:2379"]},{"id":"bd388e7810915853","name":"etcd3","peerURLs":["http://etcd3:2380"],"clientURLs":["http://0.0.0.0:2379"]},{"id":"d282ac2ce600c1ce","name":"etcd2","peerURLs":["http://etcd2:2380"],"clientURLs":["http://0.0.0.0:2379"]}]}

三. web监控

启动etcd的同时也会启动web监控etcdkeeper

访问路径

localhost:8088

etcdKeeper访问etcd好像是通过外网访问的(也可能是我配置问题)

如果是线上服务器的话需要配置一下安全组才能访问

ETCD教程(一) 通过docker安装etcd集群相关推荐

  1. docker 安装mongodb集群,多台服务器

    docker 安装mongodb集群==多台服务器 - a393060727 - 博客园

  2. docker安装redis集群+设置密码

    docker安装redis集群+设置密码 采用文章 https://blog.csdn.net/BThinker/article/details/123374236 1.获取Redis镜像 shell ...

  3. Zookeeper:Mac通过Docker安装Zookeeper集群

    此篇为 "Mac通过Docker安装Zookeeper集群",笔者原本计划是接下来更新Zookeeper应用系列的相关内容,但相关内容依赖Zookeeper集群,虽然前面也更新了 ...

  4. 【Docker】docker安装elasticsearch集群,Kibana安装以及开启认证

    提示: 文章目录 前言 一.Elasticsearch是什么? 二.Elasticsearch安装步骤 1.环境配置 2.系统配置修改 3.拉取镜像 4.创建挂载目录并赋权 5.安装获取elastic ...

  5. 使用Docker安装Spark集群(带有HDFS)

    本实验在CentOS 7中完成 第一部分:安装Docker 这一部分是安装Docker,如果机器中已经安装过Docker,可以直接跳过 [root@VM-48-22-centos ~]# system ...

  6. docker 安装redis集群配置3主3从,实现hash槽分配存储数据

    目录 一.docker集群安装 1.分别在宿主机的/docker/redis下创建每个节点数据同步的目录 2.执行容器启动命令 3.执行命令参数解释: 4.集群节点不够提示:提示需要至少3个maste ...

  7. docker 安装Kafka集群

    文章目录 前言 一.安装Zookeeper.Kafka 二.启动 1.启动Zookeeper 2.启动Kafka 3.搭建Kafka集群 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工 ...

  8. Docker 安装 RabbitmQ 集群

    目录 RabbitmQ集群模式介绍 普通集群模式 1.准备机器 2.配置集群 RabbitmQ集群模式介绍 RabbitMQ 有三种模式:单机模式,普通集群模式,镜像集群模式.单机模式即单独运行一个 ...

  9. docker安装mysql集群

    目录 一.前言 二.主从集群搭建 2.1.master 主服务器的搭建 2.2 slave服务器准备 一.前言 主从复制的流程: 1. 主服务器上面的任何修改都会通过自己的 I/O tread(I/O ...

最新文章

  1. Python 命名空间/名称查询 对效率的影响
  2. servlet返回数据_JavaEE の Servlet - Http/Servlet - Day14 - 190507
  3. java学习笔记8--接口总结
  4. 如何使用ABAP Restful API进行代码的全文搜索
  5. 查看Linux命令_搜索Linux命令_查找Linux命令
  6. DFT 与 ATPG综 述
  7. 在Windows上build Spark
  8. vSphere 6.5 Upgrade Considerations Part-3(vSphere 6.5升级注意事项第3部分)
  9. Excel中MATCH函数的正确使用
  10. ROS学习记录:读入bag文件,用Rviz读入播放
  11. linux系统怎么拨号上网,Linux系统下ADSL拨号上网方法
  12. 捞王再度冲刺上市:盈利规模现腰斩,2021年下半年亏损749万元
  13. mysql pdo教程_(唯一合适) PDO 教程
  14. 微信dat转码-微信数据库解密-dat批量查看
  15. php 公众号发表文章,微信公众号如何发布文章(一套完整的流程)
  16. TI最新CC2640R2L与CC2640R2F区别详解
  17. Adobe Photoshop CC 2017 (32 Bit) 软件安装
  18. nosql | 配置mongodb副本集
  19. 编译原理实验Sicily--LR(K) 语法分析程序
  20. 区块链智能合约Coursera(第一周)智能合约基础

热门文章

  1. Qt QComboBox下拉菜单背景透明
  2. Linux - 安装内核源码
  3. python中的os.listdir()方法、os.path.isdir()方法
  4. Python os.listdir()函数用法介绍
  5. 【java】删除文件夹及文件夹中的所有文件
  6. java日志体系分析
  7. 代理arp 无故arp 反向arp
  8. 浙江大学PAT_甲级_1032. Sharing (25)
  9. 如何关闭电脑自动更新?方案三部曲带你走出自动更新的阴影
  10. 中国LED芯片行业市场竞争状况分析及十si五发展趋势研究报告2021~2027年