etcd-01.etcd集群安装

本文介绍etcd的安装步骤及如何在多台服务器上搭建etcd集群。etcd是一款分布式key-value存储系统,用于管理和同步分布式环境中配置数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

etcd作为一个分布式的key-value存储仓库,在分布式集群的机器中提供了一个可靠的途径来访问仓库中的数据。它是开源的并且可以在github上获取到。ETCD优雅地处理网络分区中的leader选举,并容忍机器故障,包括leader。
你的应用程序可以对etcd中的数据读写。一个简单的例子就是可以将数据库链接作为key-value的存储形式存储在etcd中。这些值可以被监听,允许你的应用程序在值改变时可以对自己重新操作。

更高一级的使用场景类似分布式锁和数据库选举等,当然也可以用在服务注册和发现中。

一.etcd安装

1.etcd安装包下载

  • 执行以下命令,获取安装包(注意版本,本文档以64位centos7系统为例)
    curl -L https://github.com/coreos/etcd/releases/download/v3.3.4/etcd-v3.3.4-linux-amd64.tar.gz -o etcd-v3.3.4.tar.gz
    
  • 另外也可以点我选择合适版本下载,自行上传至linux服务器中

2.解压安装包

  • 执行以下命令,解压安装包
    tar -xzvf etcd-v3.3.4.tar.gz
    

3.配置环境变量

  • 执行以下命令,编辑/etc/profile文件
    vi /etc/profile
    
  • 在文件末尾加入以下行(根据实际路径自行修改path路径)
    export PATH="$PATH:/home/etcd/etcd-v3.3.4-linux-amd64"
    
  • 依次按【Esc】【:】【wq!】键保存编辑的/etc/profile文件
  • 执行以下命令,使配置的环境变量生效
    source /etc/profile
    

4.确认是否安装成功

  • 执行以下命令,看是否正常输出
    etcd -version
    
  • 如果输出如下结果,则说明已经正常安装
    etcd Version: 3.3.4
    Git SHA: fdde8705f
    Go Version: go1.9.5
    Go OS/Arch: linux/amd64
    

二.etcd集群安装

1.etcd环境准备

  • 准备三台linux服务器,本文档以ip分别为10.0.0.11,10.0.0.12,10.0.0.13三台服务器为例说明搭建etcd集群
  • 按照上述步骤【一.etcd安装】分别在三台服务器上执行etcd安装包安装工作

2.集群安装准备

  • 分别在三台服务器中执行以下命令创建etcd data存储文件夹,可按照实际情况创建
    mkdir /home/etcd/data
    
  • 防火墙端口开放,分别在三台服务器中执行以下命令,开放2379,2380两个端口
    firewall-cmd --zone=public --add-port=2380/tcp --permanent;firewall-cmd --reload;
    firewall-cmd --zone=public --add-port=2379/tcp --permanent;firewall-cmd --reload;
    

3.集群安装

  • 在ip为10.0.0.11的服务器上执行以下命令,创建第一个集群节点

    etcd --name heyean-etcd-node1 --data-dir=/home/etcd/data --initial-advertise-peer-urls http://10.0.0.11:2380 \
        --listen-peer-urls http://10.0.0.11:2380 \
        --listen-client-urls http://10.0.0.11:2379,http://127.0.0.1:2379 \
        --advertise-client-urls http://10.0.0.11:2379 \
        --initial-cluster-token etcd-cluster-1 \
        --initial-cluster heyean-etcd-node1=http://10.0.0.11:2380,heyean-etcd-node2=http://10.0.0.12:2380,heyean-etcd-node3=http://10.0.0.13:2380 \
        --initial-cluster-state new
    
  • 在ip为10.0.0.12的服务器上执行以下命令,创建第二个集群节点

    etcd --name heyean-etcd-node2 --data-dir=/home/etcd/data --initial-advertise-peer-urls http://10.0.0.12:2380 \
        --listen-peer-urls http://10.0.0.12:2380 \
        --listen-client-urls http://10.0.0.12:2379,http://127.0.0.1:2379 \
        --advertise-client-urls http://10.0.0.12:2379 \
        --initial-cluster-token etcd-cluster-1 \
        --initial-cluster heyean-etcd-node1=http://10.0.0.11:2380,heyean-etcd-node2=http://10.0.0.12:2380,heyean-etcd-node3=http://10.0.0.13:2380 \
        --initial-cluster-state new
    
  • 在ip为10.0.0.13的服务器上执行以下命令,创建第三个集群节点

    etcd --name heyean-etcd-node3 --data-dir=/home/etcd/data --initial-advertise-peer-urls http://10.0.0.13:2380 \
        --listen-peer-urls http://10.0.0.13:2380 \
        --listen-client-urls http://10.0.0.13:2379,http://127.0.0.1:2379 \
        --advertise-client-urls http://10.0.0.13:2379 \
        --initial-cluster-token etcd-cluster-1 \
        --initial-cluster heyean-etcd-node1=http://10.0.0.11:2380,heyean-etcd-node2=http://10.0.0.12:2380,heyean-etcd-node3=http://10.0.0.13:2380 \
        --initial-cluster-state new
    

4.验证集群状态

  • 重开一个客户端连接登录至上述三台服务器中的任意一台,输入以下命令,查看集群状态是否正常

    etcdctl member list
    
  • 如出现类似如下信息则说明集群安装成功

    69e16e5e3ae4740f: name=heyean-etcd-node3 peerURLs=http://10.0.0.13:2380 clientURLs=http://10.0.0.13:2379 isLeader=true
    a2705b7bc6c4bf28: name=heyean-etcd-node1 peerURLs=http://10.0.0.11:2380 clientURLs=http://10.0.0.11:2379 isLeader=false
    e4b162836d3eaf3a: name=heyean-etcd-node2 peerURLs=http://10.0.0.12:2380 clientURLs=http://10.0.0.12:2379 isLeader=false
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值