其实关于集群网上说的方案已经很多了,尤其是官网,只是这里我个人只有一个虚拟机,在开发环境下建议用docker-compose来搭建etcd集群.

1.拉取etcd镜像

docker pull quay.io/coreos/etcd

2.编辑docker-compose.yaml文件:

version: ''
networks:
byfn:
services:
etcd1:
image: quay.io/coreos/etcd
container_name: etcd1
command: 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 new
ports:
- "12379:2379"
-
networks:
- byfn
etcd2:
image: quay.io/coreos/etcd
container_name: etcd2
command: 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 new
ports:
- "22379:2379"
-
networks:
- byfn
etcd3:
image: quay.io/coreos/etcd
container_name: etcd3
command: 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 new
ports:
- "32379:2379"
-
networks:
- byfn

3.启动服务验证:

docker-compose up
#docker-compose down
curl -L http://127.0.0.1:12379/v2/members #查看etcd1的数据
curl -L http://127.0.0.1:22379/v2/members #查看etcd2的数据
curl -L http://127.0.0.1:32379/v2/members #查看etcd3的数据
#也可以用命令行工具etcdctl
docker exec -t etcd1 etcdctl member list
#我们往一个node上上传数据,在其他node上就能下载到
curl -L http://127.0.0.1:12379/v2/keys/foo -XPUT -d value="Hello foo"
curl -L http://127.0.0.1:12379/v2/keys/foo1/foo1 -XPUT -d value="Hello foo1"
curl -L http://127.0.0.1:12379/v2/keys/foo2/foo2 -XPUT -d value="Hello foo2"
curl -L http://127.0.0.1:12379/v2/keys/foo2/foo21/foo21 -XPUT -d value="Hello foo21"
curl -L http://127.0.0.1:22379/v2/keys/foo
curl -L http://127.0.0.1:22379/v2/keys/foo2
curl -L http://127.0.0.1:22379/v2/keys/foo2?recursive=true

参考:

ETCD 与 服务发现

Docker 搭建 etcd 集群

Etcd项目介绍

etcd-io/etcd

最新文章

  1. Codeforces CF#628 Education 8 E. Zbazi in Zeydabad
  2. centos yum Segmentation fault 问题解决办法
  3. [转]Eclipse启动Tomcat时45秒超时解决方法
  4. [应用][js+css3]3D盒子导航[PC端]
  5. UITableViewCell的选中时的颜色设置
  6. 【简单易懂的AMV图文教程-2】VEGAS基础进阶——认识关键帧
  7. case when 对某个字段值分类讨论
  8. UDP模式与TCP模式的区别
  9. 【原】iOS 获取当前和 前后n天的日期
  10. MySQl 存储过程+游标
  11. 201521123081《java程序设计》 第12周学习总结
  12. JSON(二)——JavaScript中js对象与JSON格式字符串的相互转换
  13. 《An Industrial-Strength Audio Search Algorithm》译文
  14. Javaweb——————sql常用思维导图
  15. 使用neo4j-import工具导入数据
  16. 【Acm】八皇后问题
  17. scrapy-redis基础和介绍
  18. iOS错误整理--自定义按钮,给按钮内部赋值出现的错误
  19. PHP解决并发问题的几种实现
  20. Linux命令-帮助命令:man

热门文章

  1. 恭喜你!看到这6个MES系统选型的大坑,千万要避免!
  2. How to use VideoToolbox to decompress H.264 video stream
  3. `Java`中`abstract class`与`interface`区别
  4. java全套学习资料
  5. python之pip安装软件包常用命令
  6. [转]【response】HttpServletResponse接口
  7. 高斯混合模型GMM与EM算法的Python实现
  8. docker学习-qiang
  9. opencart中文版checkout设置city和county为非必选
  10. centos7删除Apache组件