Docker下ETCD集群搭建

https://www.cnblogs.com/eagle6688/p/8287907.html

搭建集群之前首先准备两台安装了CentOS 7的主机,并在其上安装好Docker。

Master 10.100.97.46

Node 10.100.97.64

ETCD集群搭建有三种方式,分别是Static(静态方式),Discovery(服务发现方式),DNS discovery (DNS发现),官方文档https://coreos.com/etcd/docs/latest/op-guide/clustering.html。

比较三种方式,Static方式最方便简单。我们在这里使用添加主机的方式搭建集群,先假装Master机器不知道Node机器的存在,然后再把Node节点添加进来。

1. 首先获取ETCD镜像,两台主机都有(以下简称two)。

该镜像的版本信息:https://hub.docker.com/r/eagle6688/etcd/

docker pull eagle6688/etcd

2. 开放ETCD通信使用的接口,two:

sudo firewall-cmd --zone=public --add-port=2379/tcp --permanent
sudo firewall-cmd --zone=public --add-port=2380/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports

最后那行代码显示已经打开的所有端口。

3. 创建数据挂载目录,two:

sudo mkdir -p  /var/data/etcd

4. 在Master机执行:

docker run \-it \-p 2379:2379 \-p 2380:2380 \-v /var/data/etcd:/data \--name etcd-master \eagle6688/etcd \--name etcd-master \--data-dir /data \--listen-peer-urls http://0.0.0.0:2380 \--listen-client-urls http://0.0.0.0:2379 \--initial-advertise-peer-urls http://10.100.97.46:2380 \--initial-cluster etcd-master=http://10.100.97.46:2380 \--initial-cluster-state new \--initial-cluster-token eagle-cluster \--advertise-client-urls http://10.100.97.46:2379

注意,第8行我们给etcd节点起的名字要跟13行的name相同,配置node节点时类似。此外,这里的配置仅仅跟master节点自身有关,此时它还不知道有node的存在。

5. 测试master节点:

分别在master节点和node节点执行下面的语句以测试master节点的有效性:

curl http://10.100.97.46:2379/v2/members

该语句应该返回包含master节点信息的json字符串。

6. 添加node节点

在node机调用master的api添加自己

curl http://10.100.97.46:2379/v2/members -XPOST -H "Content-Type: application/json" -d '{"peerURLs":["http://10.100.97.64:2380"]}'

此时,master节点会暂停下来等待node节点的加入。

7. 启动node节点上的etcd

docker run \-it \-p 2379:2379 \-p 2380:2380 \-v /var/data/etcd:/data \--name etcd-G510 \eagle6688/etcd \--name etcd-node \--data-dir /data \--listen-peer-urls http://0.0.0.0:2380 \--listen-client-urls http://0.0.0.0:2379 \--initial-advertise-peer-urls http://10.100.97.64:2380 \--initial-cluster etcd-master=http://10.100.97.46:2380,etcd-node=http://10.100.97.64:2380 \--initial-cluster-state existing \--initial-cluster-token eagle-cluster \--advertise-client-urls http://10.100.97.64:2379

注意,initial-cluster要包含所有节点,initial-cluster-state必须是existing。

Docker下ETCD集群搭建相关推荐

  1. Centos7环境下etcd集群的搭建

    Centos7环境下etcd集群的搭建一.简介"A highly-available key value store for shared configuration and service ...

  2. 【运维】K8S集群部署系列之ETCD集群搭建(四)

    ETCD集群扩容和缩容 本文将介绍生产环境下如何对ETCD集群进行扩容和缩容. 文章目录 ETCD集群扩容和缩容 新节点环境准备(node3) 下载安装包并初始化环境 网络准备 生成`node3`对等 ...

  3. 基于docker的storm集群搭建

    基于docker的storm集群搭建 一.创建docker容器 1.创建storm的局域网 2.创建主节点的容器 3.创建从节点容器 4.配置hosts文件 二.搭建zookeeper集群 1.配置j ...

  4. 【大数据实战】Docker中Hadoop集群搭建

    目录 Docker中Hadoop集群搭建 环境 网络设置 安装docker 安装OpenSSH免密登录 Ansible安装 软件环境配置 配置hadoop运行所需配置文件 Hadoop 启动 问题 D ...

  5. etcd介绍:可作为KV数据库、服务发现、配置中心和分布式锁使用、etcd集群搭建

    etcd介绍 etcd用途 etcd VS zk etcd架构 etcd集群搭建

  6. docker 完成 redis集群搭建

    [Docker那些事]系列文章 docker 安装 与 卸载 centos Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT ...

  7. 环境搭建:Windows系统下Nacos集群搭建

    环境搭建:Windows系统下Nacos集群搭建 一.环境准备 名称 版本 下载地址 nacos NACOS 1.2.0 下载地址,提取码:5555 MySQL mysql Ver 14.14 Dis ...

  8. Windows下Kafka集群搭建

    一.Windows下Zookeeper集群搭建. 1.集群版本:2.8.1,3.0版本不再支持JDK8,不在需要Zookeeper. 2.Zookeeper版本:3.8.0. 3.Zookeeper三 ...

  9. etcd集群搭建(高可用)

    一.etcd介绍: ETCD 是一个高可用的分布式键值数据库,可用于服务发现.ETCD 采用 raft 一致性算法,基于 Go 语言实现.etcd作为一个高可用键值存储系统,天生就是为集群化而设计的. ...

最新文章

  1. 「前端面试题系列7」Javascript 中的事件机制(从原生到框架)
  2. MySQL 讨厌哪种类型的查询
  3. PHP——获取路径和目录
  4. SQL Server查询所有数据库下模式schema
  5. java8新特性stream深入解析
  6. Visual Studio.net 2010 Windows Service 开发,安装与调试
  7. 基于阿里云ECS+ 宝塔面板(bt) + WordPress 搭建个人主页(以独立博客为例)
  8. Google回应全球宕机:磁盘满了;摩拜App昨晚正式停止服务;Docker Desktop 3.0.0发布|极客头条...
  9. Bailian1017 装箱问题【贪心】
  10. 计算机写程序的步骤,电脑怎么编程 电脑编程的方法
  11. Java迭代器和lambda的区别,Java使用Lambda表达式遍历Iterator迭代器
  12. javascript 模块加载器——coolie
  13. 搭建一个vue小页面
  14. 基于STM32指纹密码锁设计
  15. 第10章应对日常生活中的稀缺
  16. java实现手写签名_手写签字,保存笔迹到图片
  17. 分布式全局唯一ID生成算法(改进的雪花算法——解决时钟回拨问题)
  18. 零知识证明(zero knowledge validation)
  19. 精通Web Analytics 2.0 (8) 第六章:使用定性数据解答”为什么“的谜团
  20. 人肉翻墙之生活在别处

热门文章

  1. 全向轮机器人直线运动分析
  2. python中定义类的关键字_在Python中,定义一个类使用什么关键字?
  3. mfc之DDX_Control作用
  4. for循环连续创建对象
  5. Python基础知识回顾及scrapy框架爬虫基础
  6. Redis RDB和AOF总结
  7. JAVA大数据-Week4-DAY3
  8. 我爬了价值1800亿的商品信息
  9. 如何获取类(接口)的成员
  10. 计算机应用技术课程本科,《计算机应用技术I》课程教学大纲(共本科29级用)().doc...