【etcd】集群部署

一、环境准备

  1. 操作系统:建议使用Ubuntu 18.04 LTS或其他支持Docker的Linux发行版。
  2. 硬件要求:至少三台机器,每台机器两核CPU、2GB内存。
  3. 网络要求:集群内机器之间网络互通,建议使用内网。
  4. 安装Docker:请参考Docker官方文档进行安装。

二、安装etcd

参见 【etcd 编译与安装】。

  1. 创建集群配置文件:
    在etcd目录下创建etcd.yaml,配置如下:
yaml 复制代码
cluster:
  name: my-etcd-cluster
  peers:
    - peer-urls:
        - "http://192.168.1.101:2380"
        - "http://192.168.1.101:2379"
        name: "etcd-1"
      client-urls:
        - "http://192.168.1.101:2379"
    - peer-urls:
        - "http://192.168.1.102:2380"
        - "http://192.168.1.102:2379"
        name: "etcd-2"
      client-urls:
        - "http://192.168.1.102:2379"
    - peer-urls:
        - "http://192.168.1.103:2380"
        - "http://192.168.1.103:2379"
        name: "etcd-3"
      client-urls:
        - "http://192.168.1.103:2379"

修改配置文件中的IP地址为你的集群内机器的IP地址。

  1. 启动etcd集群:

在etcd目录下,为每个节点创建一个启动脚本,例如start-etcd-1.shstart-etcd-2.shstart-etcd-3.sh,内容如下:

bash 复制代码
#!/bin/bash
cd /path/to/etcd
./etcd --name=$1 --data-dir=/path/to/data --listen-client-urls="http://0.0.0.0:2379" --advertise-client-urls="http://$2:2379" --listen-peer-urls="http://0.0.0.0:2380" --initial-cluster=$3 --initial-cluster-token=my-etcd-cluster-token --initial-cluster-state=new

/path/to/etcd替换为etcd的安装路径,/path/to/data替换为etcd数据目录的路径,$1替换为节点名称,$2替换为节点IP地址,$3替换为集群配置文件中的peers部分。

在每个节点上执行对应的启动脚本,例如:

bash 复制代码
bash start-etcd-1.sh etcd-1 192.168.1.101
bash start-etcd-2.sh etcd-2 192.168.1.102
bash start-etcd-3.sh etcd-3 192.168.1.103

三、验证集群状态

  1. 安装etcdctl

    curl -L https://github.com/etcd-io/etcd/releases/download/v3.5.0/etcd-v3.5.0-linux-amd64.tar.gz | tar xz -C /tmp
    mv /tmp/etcd-v3.5.0-linux-am

相关推荐
2401_874732531 小时前
为你的Python脚本添加图形界面(GUI)
jvm·数据库·python
Chengbei112 小时前
Redis 图形化综合检测工具:redis_tools_GUI,一键探测 + 利用
数据库·redis·web安全·网络安全·缓存·系统安全
hutengyi2 小时前
PostgreSQL的备份方式
数据库·postgresql
mldlds2 小时前
MySQL加减间隔时间函数DATE_ADD和DATE_SUB的详解
android·数据库·mysql
Chengbei113 小时前
若依全漏洞复现:从 SQL 注入到 RCE 一站式实战 复现、利用与防御
数据库·sql·安全·web安全·网络安全·系统安全·安全架构
小江的记录本3 小时前
【事务】Spring Framework核心——事务管理:ACID特性、隔离级别、传播行为、@Transactional底层原理、失效场景
java·数据库·分布式·后端·sql·spring·面试
数据皮皮侠4 小时前
中国城市间地理距离矩阵(2024)
大数据·数据库·人工智能·算法·制造
lars_lhuan4 小时前
从键值数据库到Redis
数据库·redis·缓存
倔强的石头1064 小时前
KaiwuDB社区版 3.1.0 在 Ubuntu 22.04 部署实战:TLS 配置、踩坑复盘与轻量压测
数据库·ubuntu·kwdb