zoukankan      html  css  js  c++  java
  • ETCD成员维护

    # For each machine
    TOKEN=my-etcd-token-1
    CLUSTER_STATE=new
    NAME_1=etcd-node-1
    NAME_2=etcd-node-2
    NAME_3=etcd-node-3
    HOST_1=10.240.0.13
    HOST_2=10.240.0.14
    HOST_3=10.240.0.15
    CLUSTER=${NAME_1}=http://${HOST_1}:2380,${NAME_2}=http://${HOST_2}:2380,${NAME_3}=http://${HOST_3}:2380
    
    # For node 1
    THIS_NAME=${NAME_1}
    THIS_IP=${HOST_1}
    etcd --data-dir=data.etcd --name ${THIS_NAME} 
    	--initial-advertise-peer-urls http://${THIS_IP}:2380 
    	--listen-peer-urls http://${THIS_IP}:2380 
    	--advertise-client-urls http://${THIS_IP}:2379 
    	--listen-client-urls http://${THIS_IP}:2379 
    	--initial-cluster ${CLUSTER} 
    	--initial-cluster-state ${CLUSTER_STATE} 
    	--initial-cluster-token ${TOKEN}
    
    # For node 2
    THIS_NAME=${NAME_2}
    THIS_IP=${HOST_2}
    etcd --data-dir=data.etcd --name ${THIS_NAME} 
    	--initial-advertise-peer-urls http://${THIS_IP}:2380 
    	--listen-peer-urls http://${THIS_IP}:2380 
    	--advertise-client-urls http://${THIS_IP}:2379 
    	--listen-client-urls http://${THIS_IP}:2379 
    	--initial-cluster ${CLUSTER} 
    	--initial-cluster-state ${CLUSTER_STATE} 
    	--initial-cluster-token ${TOKEN}
    
    # For node 3
    THIS_NAME=${NAME_3}
    THIS_IP=${HOST_3}
    etcd --data-dir=data.etcd --name ${THIS_NAME} 
    	--initial-advertise-peer-urls http://${THIS_IP}:2380 
    	--listen-peer-urls http://${THIS_IP}:2380 
    	--advertise-client-urls http://${THIS_IP}:2379 
    	--listen-client-urls http://${THIS_IP}:2379 
    	--initial-cluster ${CLUSTER} 
    	--initial-cluster-state ${CLUSTER_STATE} 
    	--initial-cluster-token ${TOKEN}
    

    Then replace a member with member remove and member add commands:

    # get member ID
    export ETCDCTL_API=3
    HOST_1=10.240.0.13
    HOST_2=10.240.0.14
    HOST_3=10.240.0.15
    etcdctl --endpoints=${HOST_1}:2379,${HOST_2}:2379,${HOST_3}:2379 member list
    
    # remove the member
    MEMBER_ID=278c654c9a6dfd3b
    etcdctl --endpoints=${HOST_1}:2379,${HOST_2}:2379,${HOST_3}:2379 
    	member remove ${MEMBER_ID}
    
    # add a new member (node 4)
    export ETCDCTL_API=3
    NAME_1=etcd-node-1
    NAME_2=etcd-node-2
    NAME_4=etcd-node-4
    HOST_1=10.240.0.13
    HOST_2=10.240.0.14
    HOST_4=10.240.0.16 # new member
    etcdctl --endpoints=${HOST_1}:2379,${HOST_2}:2379 
    	member add ${NAME_4} 
    	--peer-urls=http://${HOST_4}:2380
    

    Next, start the new member with --initial-cluster-state existing flag:

    # [WARNING] If the new member starts from the same disk space,
    # make sure to remove the data directory of the old member
    #
    # restart with 'existing' flag
    TOKEN=my-etcd-token-1
    CLUSTER_STATE=existing
    NAME_1=etcd-node-1
    NAME_2=etcd-node-2
    NAME_4=etcd-node-4
    HOST_1=10.240.0.13
    HOST_2=10.240.0.14
    HOST_4=10.240.0.16 # new member
    CLUSTER=${NAME_1}=http://${HOST_1}:2380,${NAME_2}=http://${HOST_2}:2380,${NAME_4}=http://${HOST_4}:2380
    
    THIS_NAME=${NAME_4}
    THIS_IP=${HOST_4}
    etcd --data-dir=data.etcd --name ${THIS_NAME} 
    	--initial-advertise-peer-urls http://${THIS_IP}:2380 
    	--listen-peer-urls http://${THIS_IP}:2380 
    	--advertise-client-urls http://${THIS_IP}:2379 
    	--listen-client-urls http://${THIS_IP}:2379 
    	--initial-cluster ${CLUSTER} 
    	--initial-cluster-state ${CLUSTER_STATE} 
    	--initial-cluster-token ${TOKEN}
  • 相关阅读:
    (算法)Hanoi Problem汉诺塔问题
    (剑指Offer)面试题48:不能被继承的类
    (剑指Offer)面试题47:不用加减乘除做加法
    (剑指Offer)面试题46:求1+2+3+....+n
    (剑指Offer)面试题45:圆圈中最后剩下的数字
    程序员应该知道的15件事 在生活与工作中用他们来警惕自己
    基于REST架构的Web Service设计
    互联网上五个最高级的搜索引擎
    哈佛经济学家关于工作效率的意外发现
    列举一些常见的系统系能瓶颈 Common Bottlenecks
  • 原文地址:https://www.cnblogs.com/justart/p/11670850.html
Copyright © 2011-2022 走看看