Docker下ETCD集群搭建
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集群搭建相关推荐
- Centos7环境下etcd集群的搭建
Centos7环境下etcd集群的搭建一.简介"A highly-available key value store for shared configuration and service ...
- 【运维】K8S集群部署系列之ETCD集群搭建(四)
ETCD集群扩容和缩容 本文将介绍生产环境下如何对ETCD集群进行扩容和缩容. 文章目录 ETCD集群扩容和缩容 新节点环境准备(node3) 下载安装包并初始化环境 网络准备 生成`node3`对等 ...
- 基于docker的storm集群搭建
基于docker的storm集群搭建 一.创建docker容器 1.创建storm的局域网 2.创建主节点的容器 3.创建从节点容器 4.配置hosts文件 二.搭建zookeeper集群 1.配置j ...
- 【大数据实战】Docker中Hadoop集群搭建
目录 Docker中Hadoop集群搭建 环境 网络设置 安装docker 安装OpenSSH免密登录 Ansible安装 软件环境配置 配置hadoop运行所需配置文件 Hadoop 启动 问题 D ...
- etcd介绍:可作为KV数据库、服务发现、配置中心和分布式锁使用、etcd集群搭建
etcd介绍 etcd用途 etcd VS zk etcd架构 etcd集群搭建
- docker 完成 redis集群搭建
[Docker那些事]系列文章 docker 安装 与 卸载 centos Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT ...
- 环境搭建:Windows系统下Nacos集群搭建
环境搭建:Windows系统下Nacos集群搭建 一.环境准备 名称 版本 下载地址 nacos NACOS 1.2.0 下载地址,提取码:5555 MySQL mysql Ver 14.14 Dis ...
- Windows下Kafka集群搭建
一.Windows下Zookeeper集群搭建. 1.集群版本:2.8.1,3.0版本不再支持JDK8,不在需要Zookeeper. 2.Zookeeper版本:3.8.0. 3.Zookeeper三 ...
- etcd集群搭建(高可用)
一.etcd介绍: ETCD 是一个高可用的分布式键值数据库,可用于服务发现.ETCD 采用 raft 一致性算法,基于 Go 语言实现.etcd作为一个高可用键值存储系统,天生就是为集群化而设计的. ...
最新文章
- 「前端面试题系列7」Javascript 中的事件机制(从原生到框架)
- MySQL 讨厌哪种类型的查询
- PHP——获取路径和目录
- SQL Server查询所有数据库下模式schema
- java8新特性stream深入解析
- Visual Studio.net 2010 Windows Service 开发,安装与调试
- 基于阿里云ECS+ 宝塔面板(bt) + WordPress 搭建个人主页(以独立博客为例)
- Google回应全球宕机:磁盘满了;摩拜App昨晚正式停止服务;Docker Desktop 3.0.0发布|极客头条...
- Bailian1017 装箱问题【贪心】
- 计算机写程序的步骤,电脑怎么编程 电脑编程的方法
- Java迭代器和lambda的区别,Java使用Lambda表达式遍历Iterator迭代器
- javascript 模块加载器——coolie
- 搭建一个vue小页面
- 基于STM32指纹密码锁设计
- 第10章应对日常生活中的稀缺
- java实现手写签名_手写签字,保存笔迹到图片
- 分布式全局唯一ID生成算法(改进的雪花算法——解决时钟回拨问题)
- 零知识证明(zero knowledge validation)
- 精通Web Analytics 2.0 (8) 第六章:使用定性数据解答”为什么“的谜团
- 人肉翻墙之生活在别处