Linux下ETCD安装、配置、命令

在Linux系统下安装和配置ETCD是比较直接的过程。ETCD是一个分布式键值存储系统,用于存储和管理集群配置数据。以下是ETCD的安装、配置以及常用命令的详细步骤。

1. 安装 ETCD

下载 ETCD
  1. 访问 ETCD GitHub Releases 页面,下载适合你系统的ETCD版本。

  2. 使用 wgetcurl 命令下载ETCD的二进制文件。例如:

    wget https://github.com/etcd-io/etcd/releases/download/v3.5.0/etcd-v3.5.0-linux-amd64.tar.gz
    

    curl -LO https://github.com/etcd-io/etcd/releases/download/v3.5.0/etcd-v3.5.0-linux-amd64.tar.gz
    
  3. 解压下载的文件:

    tar xvf etcd-v3.5.0-linux-amd64.tar.gz
    
  4. 进入解压目录,并将二进制文件移动到 /usr/local/bin 目录下:

    cd etcd-v3.5.0-linux-amd64
    sudo mv etcd etcdctl /usr/local/bin/
    

2. 配置 ETCD单节点

ETCD可以以集群模式或单节点模式运行。以下是单节点模式的基本配置。

  1. 创建 ETCD 配置文件

    创建一个配置文件 /etc/etcd/etcd.conf。你可以根据需要调整配置:

    # /etc/etcd/etcd.conf
    ETCD_NAME=default
    ETCD_DATA_DIR=/var/lib/etcd
    ETCD_LISTEN_PEER_URLS=http://localhost:2380
    ETCD_LISTEN_CLIENT_URLS=http://localhost:2379
    ETCD_INITIAL_ADVERTISE_PEER_URLS=http://localhost:2380
    ETCD_ADVERTISE_CLIENT_URLS=http://localhost:2379
    ETCD_INITIAL_CLUSTER_TOKEN=etcd-cluster
    ETCD_INITIAL_CLUSTER=default=http://localhost:2380
    ETCD_INITIAL_CLUSTER_STATE=new
    ETCD_INITIAL_CLUSTER=default=http://localhost:2380
    
  2. 创建数据目录

    sudo mkdir -p /var/lib/etcd
    sudo chown -R $(whoami) /var/lib/etcd
    
  3. 启动 ETCD

    使用 etcd 命令启动ETCD服务:

    etcd --config-file=/etc/etcd/etcd.conf
    

你也可以使用系统服务管理工具(如 systemd)来启动ETCD,并设置开机自启动。

3. 配置 ETCD集群

我们以 192.168.1.20192.168.1.21192.168.1.22 三台主机为例配置一个ETCD集群,并验证集群的健康状态,以下是详细的步骤和示例。

3.1. 配置文件

在每个节点上,创建ETCD配置文件 /etc/etcd/etcd.conf,内容如下:

192.168.1.20 上:

# /etc/etcd/etcd.conf
ETCD_NAME=etcd-node-1
ETCD_DATA_DIR=/var/lib/etcd
ETCD_LISTEN_PEER_URLS=http://192.168.1.20:2380
ETCD_LISTEN_CLIENT_URLS=http://192.168.1.20:2379
ETCD_INITIAL_ADVERTISE_PEER_URLS=http://192.168.1.20:2380
ETCD_ADVERTISE_CLIENT_URLS=http://192.168.1.20:2379
ETCD_INITIAL_CLUSTER=etcd-node-1=http://192.168.1.20:2380,etcd-node-2=http://192.168.1.21:2380,etcd-node-3=http://192.168.1.22:2380
ETCD_INITIAL_CLUSTER_STATE=new

192.168.1.21 上:

# /etc/etcd/etcd.conf
ETCD_NAME=etcd-node-2
ETCD_DATA_DIR=/var/lib/etcd
ETCD_LISTEN_PEER_URLS=http://192.168.1.21:2380
ETCD_LISTEN_CLIENT_URLS=http://192.168.1.21:2379
ETCD_INITIAL_ADVERTISE_PEER_URLS=http://192.168.1.21:2380
ETCD_ADVERTISE_CLIENT_URLS=http://192.168.1.21:2379
ETCD_INITIAL_CLUSTER=etcd-node-1=http://192.168.1.20:2380,etcd-node-2=http://192.168.1.21:2380,etcd-node-3=http://192.168.1.22:2380
ETCD_INITIAL_CLUSTER_STATE=new

192.168.1.22 上:

# /etc/etcd/etcd.conf
ETCD_NAME=etcd-node-3
ETCD_DATA_DIR=/var/lib/etcd
ETCD_LISTEN_PEER_URLS=http://192.168.1.22:2380
ETCD_LISTEN_CLIENT_URLS=http://192.168.1.22:2379
ETCD_INITIAL_ADVERTISE_PEER_URLS=http://192.168.1.22:2380
ETCD_ADVERTISE_CLIENT_URLS=http://192.168.1.22:2379
ETCD_INITIAL_CLUSTER=etcd-node-1=http://192.168.1.20:2380,etcd-node-2=http://192.168.1.21:2380,etcd-node-3=http://192.168.1.22:2380
ETCD_INITIAL_CLUSTER_STATE=new
3.2. 创建数据目录

在每个节点上,创建数据目录并设置权限:

sudo mkdir -p /var/lib/etcd
sudo chown -R $(whoami) /var/lib/etcd
3.3. 启动 ETCD

在每个节点上启动ETCD:

etcd --config-file=/etc/etcd/etcd.conf
3.4. 检查集群健康状态

在任意节点上运行以下命令以检查集群的健康状态:

etcdctl --endpoints=http://192.168.1.20:2379,http://192.168.1.21:2379,http://192.168.1.22:2379 endpoint health

这将显示集群中各个节点的健康状态。

http://192.168.1.20:2379 is healthy: successfully committed proposal: took = 1.234567ms
http://192.168.1.21:2379 is healthy: successfully committed proposal: took = 1.345678ms
http://192.168.1.22:2379 is healthy: successfully committed proposal: took = 1.456789ms
3.5. 验证集群成员

使用以下命令检查集群的成员信息:

etcdctl --endpoints=http://192.168.1.20:2379,http://192.168.1.21:2379,http://192.168.1.22:2379 member list

这将显示集群中所有成员的详细信息,包括成员ID、名称和URL。

1c5f04b2d34d2c3a,etcd-node-1=http://192.168.1.20:2380,etcd-node-1=http://192.168.1.20:2379
23f049238d60376a,etcd-node-2=http://192.168.1.21:2380,etcd-node-2=http://192.168.1.21:2379
45a673b2d59f5c4e,etcd-node-3=http://192.168.1.22:2380,etcd-node-3=http://192.168.1.22:2379
3.6. 测试键值存储

设置一个键值对:

etcdctl --endpoints=http://192.168.1.20:2379,http://192.168.1.21:2379,http://192.168.1.22:2379 put /foo "bar"

获取并验证键值对:

etcdctl --endpoints=http://192.168.1.20:2379,http://192.168.1.21:2379,http://192.168.1.22:2379 get /foo

这将输出:

/foo
bar

通过以上步骤,你可以在 192.168.1.20192.168.1.21192.168.1.22 上成功配置ETCD集群。配置文件中定义了ETCD的基本参数和集群信息。

4. 常用命令

4.1. 启动 ETCD 服务

使用以下命令启动ETCD服务:

etcd --config-file=/etc/etcd/etcd.conf
4.2. 使用 ETCDCTL

ETCD提供了一个命令行工具 etcdctl 用于管理和操作ETCD。以下是一些常用的 etcdctl 命令:

  • 查看集群健康状态

    etcdctl --endpoints=http://localhost:2379 endpoint health
    
  • 设置键值对

    etcdctl put /foo "bar"
    
  • 获取键值对

    etcdctl get /foo
    
  • 删除键值对

    etcdctl del /foo
    
  • 列出所有键

    etcdctl get "" --prefix
    
  • 查看ETCD版本

    etcdctl version
    
  • 备份ETCD数据

    etcdctl snapshot save snapshot.db
    
  • 恢复ETCD数据

    etcdctl snapshot restore snapshot.db --data-dir /var/lib/etcd
    

总结

安装ETCD涉及下载、解压、配置和启动等步骤。ETCD的配置可以通过修改配置文件来完成,启动时使用相应的命令或服务管理工具。ETCDCTL工具提供了丰富的命令来操作和管理ETCD集群,包括设置、获取、删除键值对以及备份和恢复数据。通过这些操作,你可以高效地管理你的ETCD实例。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TechCraft

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值