zoukankan      html  css  js  c++  java
  • etcd 集群部署与数据恢复

    节点规划
    172.25.102.10  node1
    172.25.102.39  node2
    172.25.102.17  node3
    

    部署过程

    三个节点都执行
    yum install etcd -y
    mkdir /data/etcd 
    
    
    node1:
    配置文件
    $ cat /etc/etcd/etcd.conf
    #[Member]
    ETCD_NAME="node1" 
    ETCD_DATA_DIR="/data/etcd/node1.etcd/" 
    ETCD_LISTEN_PEER_URLS="http://172.25.102.10:2380"
    ETCD_LISTEN_CLIENT_URLS="http://172.25.102.10:2379,http://127.0.0.1:2379"
       
    #[Clustering]
    ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.25.102.10:2380"
    ETCD_ADVERTISE_CLIENT_URLS="http://172.25.102.10:2379" 
    ETCD_INITIAL_CLUSTER="node1=http://172.25.102.10:2380,node2=http://172.25.102.39:2380,node3=http://172.25.102.17:2380" 
    ETCD_INITIAL_CLUSTER_TOKEN="token001"
    ETCD_INITIAL_CLUSTER_STATE="new"
    
    
    node1 启动文件
    $ cat /usr/lib/systemd/system/etcd.service 
    [Unit]
    Description=Etcd Server
    After=network.target
    [Service]
    Type=simple
    WorkingDirectory=/data/etcd/
    EnvironmentFile=-/etc/etcd/etcd.conf
    ExecStart=/usr/bin/etcd  --auto-compaction-retention=1 --quota-backend-bytes=8589934592
    [Install]
    WantedBy=multi-user.target
    
    启动 node1
    systemctl start etcd
    
    
    
    node2 
    配置文件
    $ cat /etc/etcd/etcd.conf
    #[Member]
    ETCD_NAME="node2" 
    ETCD_DATA_DIR="/data/etcd/node2.etcd/" 
    ETCD_LISTEN_PEER_URLS="http://172.25.102.39:2380"
    ETCD_LISTEN_CLIENT_URLS="http://172.25.102.39:2379,http://127.0.0.1:2379"
       
    #[Clustering]
    ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.25.102.39:2380"
    ETCD_ADVERTISE_CLIENT_URLS="http://172.25.102.39:2379" 
    ETCD_INITIAL_CLUSTER="node1=http://172.25.102.10:2380,node2=http://172.25.102.39:2380,node3=http://172.25.102.17:2380" 
    ETCD_INITIAL_CLUSTER_TOKEN="token001"
    ETCD_INITIAL_CLUSTER_STATE="new"
    
    
    node2 
    启动文件
    $  cat /usr/lib/systemd/system/etcd.service 
    [Unit]
    Description=Etcd Server
    After=network.target
    [Service]
    Type=simple
    WorkingDirectory=/data/etcd/
    EnvironmentFile=-/etc/etcd/etcd.conf
    ExecStart=/usr/bin/etcd --auto-compaction-retention=1 --quota-backend-bytes=8589934592
    [Install]
    WantedBy=multi-user.target
    
    启动 node2
    systemctl start etcd
    
    node3
    配置文件
    $ cat /etc/etcd/etcd.conf 
    #[Member]
    ETCD_NAME="node3" 
    ETCD_DATA_DIR="/data/etcd/node3.etcd/" 
    ETCD_LISTEN_PEER_URLS="http://172.25.102.17:2380"
    ETCD_LISTEN_CLIENT_URLS="http://172.25.102.17:2379,http://127.0.0.1:2379"
       
    #[Clustering]
    ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.25.102.17:2380"
    ETCD_ADVERTISE_CLIENT_URLS="http://172.25.102.17:2379" 
    ETCD_INITIAL_CLUSTER="node1=http://172.25.102.10:2380,node2=http://172.25.102.39:2380,node3=http://172.25.102.17:2380" 
    ETCD_INITIAL_CLUSTER_TOKEN="token001"
    ETCD_INITIAL_CLUSTER_STATE="new"
    
    
    node3 启动文件
    $  cat /usr/lib/systemd/system/etcd.service 
    [Unit]
    Description=Etcd Server
    After=network.target
    [Service]
    Type=simple
    WorkingDirectory=/data/etcd/
    EnvironmentFile=-/etc/etcd/etcd.conf
    ExecStart=/usr/bin/etcd --auto-compaction-retention=1 --quota-backend-bytes=8589934592
    [Install]
    WantedBy=multi-user.target
    
    启动 node3
    systemctl start etcd
    
    

    etcd 集群备份

    #!/bin/bash
    local_ip=`ip a | grep 10.16.1 | awk -F/ '{print $1}' | awk '{print $2}'`
    date=$(date +%Y-%m-%d-%H)
    backup_path="/data/aw-etcdbak/"
    cd $backup_path
    export ETCDCTL_API=3
    ENDPOINTS='10.16.1.110:12379,10.16.1.111:12379,10.16.1.112:12379'
    etcdctl --endpoints=$ENDPOINTS snapshot save  $local_ip-snapshot-$date.db
    
    find ./ -type f -name  "*.db"  -mtime +7 |xargs rm -f
    
    
    

    etcd 数据恢复

    etcd 获取备份数据172.24.119.41-snapshot-2019-09-24.db 后,分别将改备份数据分发至三个节点
    分别停止etcd 三个节点
    
    
    systemctl stop etcd
    确认停掉三个节点后依次执行恢复操作
    
    
    node1 恢复操作
    mv /data/etcd/node1.etcd /data/etcd/node1.etcd_bak
    cd /data/etcd/
    etcdctl snapshot  restore   /data/172.24.119.41-snapshot-2019-09-24.db            --name node1   --initial-cluster node1=http://172.25.102.10:2380,node2=http://172.25.102.39:2380,node3=http://172.25.102.17:2380   --initial-advertise-peer-urls http://172.25.102.10:2380
    
    
    node2 恢复操作
    mv /data/etcd/node2.etcd /data/etcd/node2.etcd_bak
    cd /data/etcd/
    etcdctl snapshot  restore   /data/172.24.119.41-snapshot-2019-09-24.db            --name node2   --initial-cluster node1=http://172.25.102.10:2380,node2=http://172.25.102.39:2380,node3=http://172.25.102.17:2380   --initial-advertise-peer-urls http://172.25.102.39:2380
    
    
    node3 恢复操作
    
    mv /data/etcd/node3.etcd /data/etcd/node3.etcd_bak
    cd /data/etcd/
    etcdctl snapshot  restore   /data/172.24.119.41-snapshot-2019-09-24.db            --name node3   --initial-cluster node1=http://172.25.102.10:2380,node2=http://172.25.102.39:2380,node3=http://172.25.102.17:2380   --initial-advertise-peer-urls http://172.25.102.17:2380
    
    
    node1 node2 node3 依次启动 etcd
    systemctl start etcd
    
    etcdctl get /ad/media  查看恢复的数据已正常
    
    
    
  • 相关阅读:
    CJOJ 1308 【HNOI 2002 】营业额统计 / CodeVS 1296 营业额统计(STL,二分)
    CJOJ 1131 机器分配 / Luogu 2066 机器分配 (动态规划)
    CJOJ 2482 【POI2000】促销活动(STL优先队列,大根堆,小根堆)
    CJOJ 2484 函数最小值 / Luogu 2085 函数最小值(STL优先队列,堆)
    POJ 2296 Map Labeler / ZOJ 2493 Map Labeler / HIT 2369 Map Labeler / UVAlive 2973 Map Labeler(2-sat 二分)
    Luogu 1111 修复公路(最小生成树)
    POJ 3683 Priest John's Busiest Day / OpenJ_Bailian 3788 Priest John's Busiest Day(2-sat问题)
    POJ 3207 Ikki's Story IV
    洛谷 P1456Monkey King
    洛谷 P1231教辅的组成
  • 原文地址:https://www.cnblogs.com/lixinliang/p/14518841.html
Copyright © 2011-2022 走看看