广告
返回顶部
首页 > 资讯 > 服务器 >docker-compose搭建etcd集群的实现(三节点)
  • 457
分享到

docker-compose搭建etcd集群的实现(三节点)

2024-04-02 19:04:59 457人浏览 安东尼
摘要

目录1. 环境说明2. 部署etcd1etcd2etcd33. 验证3.1 查看集群状态3.2 读写测试1. 环境说明 节点IPetcd110.10.239.31etcd210.10

1. 环境说明

节点IP
etcd110.10.239.31
etcd210.10.239.32
etcd310.10.239.33

2. 部署

etcd1

ymal文件

version: "3.0"
services:
  etcd1:
    image: bitnami/etcd:latest
    container_name: etcd1
    restart: always
    ports:
      - "2379:2379"
      - "2380:2380"
    environment:
      - ALLOW_NONE_AUTHENTICATION=yes #示例中我们不设置密码
      - ETCD_NAME=etcd1 #节点自己的名字
      - ETCD_ADVERTISE_CLIENT_URLS=Http://10.10.239.31:2379  #告知集群自己的客户端地址
      - ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379 #设置监听客户端通讯的URL列表
      - ETCD_INITIAL_ADVERTISE_PEER_URLS=http://10.10.239.31:2380 #告知集群自己集群通讯地址
      - ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380 #用于监听伙伴通讯的URL列表
      - ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster #etcd 集群的初始化集群记号
      - ETCD_INITIAL_CLUSTER=etcd1=http://10.10.239.31:2380,etcd2=http://10.10.239.32:2380,etcd3=http://10.10.239.33:2380 #集群成员
      - ETCD_INITIAL_CLUSTER_STATE=new #初始化集群状态
    volumes:
      - ./data:/bitnami/etcd

持久化

如果此时启动,会在当前目录下创建 ./data 目录,挂载到容器的 /bitnami/etcd ,但我们要注意的是,容器中启动etcd的用户并不是root用户,很可能没有在目录下创建文件的权限。我们有两个方案:

【方法一】给777权限(不建议)

【方法二】所属主改成对应宿主机用户(建议)

方法二操作:

  • 先给./data目录777权限
  • 查看新生成的文件属主是宿主机哪个用户,就将./data目录属主改为哪个用户
  • 再将权限改回755或750,重启容器

启动服务

[root@liubei-01 etcd1]# Docker-compose up -d

查看结果

[root@liubei-01 etcd1]# docker-compose ps
Name               Command               State                       Ports
-----------------------------------------------------------------------------------------------
etcd1   /opt/bitnami/scripts/etcd/ ...   Up      0.0.0.0:2379->2379/tcp, 0.0.0.0:2380->2380/tcp

etcd2

ymal文件

version: "3.0"
services:
  etcd1:
    image: bitnami/etcd:latest
    container_name: etcd2
    restart: always
    ports:
      - "2379:2379"
      - "2380:2380"
    environment:
      - ALLOW_NONE_AUTHENTICATION=yes
      - ETCD_NAME=etcd2
      - ETCD_ADVERTISE_CLIENT_URLS=http://10.10.239.32:2379
      - ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379
      - ETCD_INITIAL_ADVERTISE_PEER_URLS=http://10.10.239.32:2380
      - ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380
      - ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster
      - ETCD_INITIAL_CLUSTER=etcd1=http://10.10.239.31:2380,etcd2=http://10.10.239.32:2380,etcd3=http://10.10.239.33:2380
      - ETCD_INITIAL_CLUSTER_STATE=new
    volumes:
      - ./data:/bitnami/etcd

持久化(同上)

启动服务(同上)

etcd3

ymal文件

version: "3.0"
services:
  etcd1:
    image: bitnami/etcd:latest
    container_name: etcd3
    restart: always
    ports:
      - "2379:2379"
      - "2380:2380"
    environment:
      - ALLOW_NONE_AUTHENTICATION=yes
      - ETCD_NAME=etcd3
      - ETCD_ADVERTISE_CLIENT_URLS=http://10.10.239.33:2379
      - ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379
      - ETCD_INITIAL_ADVERTISE_PEER_URLS=http://10.10.239.33:2380
      - ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380
      - ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster
      - ETCD_INITIAL_CLUSTER=etcd1=http://10.10.239.31:2380,etcd2=http://10.10.239.32:2380,etcd3=http://10.10.239.33:2380
      - ETCD_INITIAL_CLUSTER_STATE=new
    volumes:
      - ./data:/bitnami/etcd

持久化(同上)

启动服务(同上)

3. 验证

3.1 查看集群状态

查看集群成员

I have no name!@555187fb758c:/opt/bitnami/etcd$ etcdctl --write-out=table  member list
+------------------+---------+-------+--------------------------+--------------------------+------------+
|        ID        | STATUS  | NAME  |        PEER ADDRS        |       CLIENT ADDRS       | IS LEARNER |
+------------------+---------+-------+--------------------------+--------------------------+------------+
| 57d6f74aaa8d5d3e | started | etcd1 | http://10.10.239.31:2380 | http://10.10.239.31:2379 |      false |
| 9107e491ab549324 | started | etcd3 | http://10.10.239.33:2380 | http://10.10.239.33:2379 |      false |
| e7b147006e212ca5 | started | etcd2 | http://10.10.239.32:2380 | http://10.10.239.32:2379 |      false |
+------------------+---------+-------+--------------------------+--------------------------+------------+

查看本节点状态

I have no name!@555187fb758c:/opt/bitnami/etcd$ etcdctl --write-out=table  endpoint status
+----------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
|    ENDPOINT    |        ID        | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+----------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| 127.0.0.1:2379 | 57d6f74aaa8d5d3e |   3.5.4 |   20 kB |      true |      false |         2 |         10 |                 10 |        |
+----------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+

查看本节点健康状态

I have no name!@555187fb758c:/opt/bitnami/etcd$ etcdctl --write-out=table  endpoint health
+----------------+--------+------------+-------+
|    ENDPOINT    | HEALTH |    TOOK    | ERROR |
+----------------+--------+------------+-------+
| 127.0.0.1:2379 |   true | 3.736825ms |       |
+----------------+--------+------------+-------+

3.2 读写测试

登录其中一个节点,进入容器,写一条数据
zai

[root@liubei-01 etcd3]# docker exec -it 788 bash
I have no name!@788dd01aaa79:/opt/bitnami/etcd$ etcd
etcd     etcdctl
I have no name!@788dd01aaa79:/opt/bitnami/etcd$ etcdctl put name "liubei"
OK

登录另一个节点,进入容器,读取数据

[root@liubei-02 ~]# docker exec -it 555 bash
I have no name!@555187fb758c:/opt/bitnami/etcd$ etcdctl get name
name
liubei

到此这篇关于docker-compose搭建etcd集群的实现(三节点)的文章就介绍到这了,更多相关docker-compose搭建etcd集群内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: docker-compose搭建etcd集群的实现(三节点)

本文链接: https://www.lsjlt.com/news/153544.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • docker-compose搭建etcd集群的实现(三节点)
    目录1. 环境说明2. 部署etcd1etcd2etcd33. 验证3.1 查看集群状态3.2 读写测试1. 环境说明 节点IPetcd110.10.239.31etcd210.10...
    99+
    2022-11-13
  • 怎么使用docker compose搭建etcd集群
    本文小编为大家详细介绍“怎么使用docker compose搭建etcd集群”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用docker compose搭建etcd集群”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习...
    99+
    2023-07-02
  • docker-compose部署etcd集群的实现步骤
    目录编写docker-compose.yml 运行docker-compose 检查搭建状态 测试节点 Golang 与 etcd 简单交互 编写docker-compose.yml...
    99+
    2022-11-12
  • Docker-Compose搭建Spark集群的实现方法
    目录一、前言二、docker-compose.yml三、启动集群四、结合hdfs使用一、前言 在前文中,我们使用Docker-Compose完成了hdfs集群的构建。本文将继续使用D...
    99+
    2022-11-13
  • Docker-Compose搭建Redis集群的实现教程
    目录1. 集群配置2.编写Redis.conf3. 在每个redis-*文件夹下创建redis.conf文件,并写入如下内容:4.编写docker-compose.yml文件5.开启集群6.测试6.1 查看节点属性6.2...
    99+
    2023-03-24
    Docker-Compose搭建Redis集群
  • PXC三节点集群系统搭建
    1.概念:    Percona Xtradb Cluster,简称PXC。是基于Galera插件的MySQL集群。     ...
    99+
    2022-10-18
  • Docker微服务的ETCD集群搭建教程详解
    目录etcd的特性Etcd构建自身高可用集群主要有三种形式本次搭建的基础环境1、将服务器挨个添加进集群2、将服务器统一添加进集群etcd api接口服务注册与发现etcd是一个高可用...
    99+
    2022-11-12
  • docker搭建redis三主三从集群的实现步骤
    目录一 准备Redis镜像、容器1.1 下载redis6.0.81.2 准备6台服务器配置文件1.3 创建6台redis容器二 创建主从集群关系2.1 进入任意一台redis容器2.3 查看集群状态三 主从容错切换迁移案...
    99+
    2022-08-17
    dockerredis三主三从集群 dockerredis三主三从
  • Docker微服务的ETCD集群搭建方法是什么
    这篇文章主要讲解了“Docker微服务的ETCD集群搭建方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker微服务的ETCD集群搭建方法是什么”吧!etcd是一个高可用的键值...
    99+
    2023-06-25
  • docker搭建mongodb单节点副本集的实现
    目录背景启动步骤可能遇到的问题解决办法背景 在开发中,我们很容易通过docker启动一个普通的mongodb数据库服务。但是有时候为了保持与线上环境一致,或者为了利用mongodb副...
    99+
    2022-11-13
  • 使用docker compose搭建consul集群环境的例子
    consul基本概念 server模式和client模式 server模式和client模式是consul节点的类型;client不是指的用户客户端。 server模式提供...
    99+
    2022-11-12
  • Docker上实现Redis集群搭建
    目录1、拉取镜像2、创建Redis容器3、启动并组建集群启动容器4、存在的问题环境:Docker + ( Redis:5.0.5 * 3 ) 1、拉取镜像 docker pull...
    99+
    2022-11-12
  • docker搭建kafka集群的方法实现
    目录一、原生Docker命令二、镜像选择三、集群规划四、Zookeeper集群安装五、Kafka集群安装一、原生Docker命令 1. 删除所有dangling数据卷(即无用的Vol...
    99+
    2022-11-13
  • docker-compose启动redis集群的实现步骤
    目录1. 伪集群安装持久化存储启动集群集群初始化2. 测试读写测试key所在节点多机集群见我的另一篇文档《docker-compose启动Redis多机集群(6台服务器3主3从)》,此处是一个用于学习的伪集群。 1. 伪...
    99+
    2022-07-13
    docker-compose启动redis集群 docker-compose redis集群
  • 如何搭建Redis集群实现三主三从
    这篇文章给大家分享的是有关如何搭建Redis集群实现三主三从的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。安装需要在每一个节点上进行下载解压安装包cd /usr/local/wget http://downloa...
    99+
    2023-06-04
  • docker实现redis集群搭建的方法步骤
    目录一、创建redis docker基础镜像 二、制作redis节点镜像 三、运行redis集群  引用:摘要:接触docker以来,似乎养成了一种习惯,安装什么应用软件都...
    99+
    2022-11-12
  • 基于Docker搭建Redis主从集群的实现
    目录1、拉取 Redis 镜像2、创建 6 个 Redis 容器3、启动 Redis 容器4、组建 Redis 集群5、关于Redis集群搭建最近陆陆续续有不少园友加我好友咨询 re...
    99+
    2022-11-12
  • docker搭建Hadoop CDH高可用集群实现
    目录0. docker安装1. 构建Centos-cdh镜像2. 容器安装ClouderaManager2.1 初始化环境2.2 配置中文环境变量2.3 设置NTP时间同步服务2.4 安装mysql2.5 准备Cloudera-Manage...
    99+
    2022-09-23
  • docker搭建es集群实现过程详解
    目录前言什么是es使用docker搭建es集群前言 该系列默认开启Nacos 服务,还不会搭建的小伙伴可以参考往期文章~ 本节重点是给大家介绍利用docker来搭建Es集群,废话...
    99+
    2023-01-31
    docker搭建es集群 es集群搭建
  • docker搭建redis主从哨兵集群的实现步骤
    目录1:获取Redis镜像2:创建redis主从+哨兵docker-compose文件3:redis配置和哨兵配置说明4:启动docker-compose5:查看启动情况6:进入主节点查看集群情况本文以docker-co...
    99+
    2022-07-10
    dockerredis主从哨兵集群 redis主从哨兵集群
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作