unijun 发表于 2019-1-31 11:45:09

CentOS 部署Etcd集群



  一、环境介绍
  操作系统信息:CentOS 7 64位
  服务器信息:
  192.168.80.130Etcd-master
  192.168.80.131Etcd-node1
  192.168.80.132Etcd-node2
  

  

  二、部署前准备
  

  1、设置免密登录
  
  # ssh-keygen
  # ssh-copy-id -i /root/.ssh/id_rsa.pub Etcd-node1
  # ssh-copy-id -i /root/.ssh/id_rsa.pub Etcd-node2
  

  2、所有机器上操作
  a、添加hosts
  # 192.168.80.130Etcd-master
  # 192.168.80.131Etcd-node1
  # 192.168.80.132Etcd-node2
  b、同步时间
  # yum -y lrzsz git wget python-devel ntp net-tools curl cmake epel-release rpmdevtools openssl-devel kernel-devel gcc redhat-rpm-config bridge-utils
  # yum groupinstall "Development Tools" -y
  # cp -Rf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  # ntpdate 133.100.11.8
  # sed -i 's#ZONE="America/New_York"#ZONE="Asia/Shanghai"#g' /etc/sysconfig/clock
  # hwclock -w
  # date -R
  

  三、部署Etcd
  

     
  1、安装及配置Master节点
      # yum -y install etcd
      # cat /etc/etcd/etcd.conf
  #
  ETCD_NAME="etcd-master"
  ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
  #ETCD_WAL_DIR=""
  #ETCD_SNAPSHOT_COUNT="10000"
  #ETCD_HEARTBEAT_INTERVAL="100"
  #ETCD_ELECTION_TIMEOUT="1000"
  ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
  ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:4001,http://0.0.0.0:2379"
  #ETCD_MAX_SNAPSHOTS="5"
  #ETCD_MAX_WALS="5"
  #ETCD_CORS=""
  #
  #
  ETCD_INITIAL_ADVERTISE_PEER_URLS="http://etcd-master:2380"
  # if you use different ETCD_NAME (e.g. test), set ETCD_INITIAL_CLUSTER value for this name, i.e. "test=http://..."
  ETCD_INITIAL_CLUSTER="etcd-node1=http://etcd-node1:2380,etcd-node2=http://etcd-node2:2380,etcd-master=http://etcd-master:2380"
  ETCD_INITIAL_CLUSTER_STATE="new"
  ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
  ETCD_ADVERTISE_CLIENT_URLS="http://Etcd-master:2379,http://Etcd-master:4001"
  

     
  2、安装及配置Node1节点
        # yum -y install etcd
        # cat /etc/etcd/etcd.conf
  #
  ETCD_NAME="etcd-node1"
  ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
  #ETCD_WAL_DIR=""
  #ETCD_SNAPSHOT_COUNT="10000"
  #ETCD_HEARTBEAT_INTERVAL="100"
  #ETCD_ELECTION_TIMEOUT="1000"
  ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
  ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:4001,http://0.0.0.0:2379"
  #ETCD_MAX_SNAPSHOTS="5"
  #ETCD_MAX_WALS="5"
  #ETCD_CORS=""
  #
  #
  ETCD_INITIAL_ADVERTISE_PEER_URLS="http://etcd-node1:2380"
  # if you use different ETCD_NAME (e.g. test), set ETCD_INITIAL_CLUSTER value for this name, i.e. "test=http://..."
  ETCD_INITIAL_CLUSTER="etcd-node1=http://etcd-node1:2380,etcd-node2=http://etcd-node2:2380,etcd-master=http://etcd-master:2380"
  ETCD_INITIAL_CLUSTER_STATE="new"
  ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
  ETCD_ADVERTISE_CLIENT_URLS="http://etcd-node1:2379,http://etcd-node1:4001"
  

  3、安装及配置Node2节点:
        # yum -y install etcd
        # cat /etc/etcd/etcd.conf
  #
  ETCD_NAME="etcd-node2"
  ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
  #ETCD_WAL_DIR=""
  #ETCD_SNAPSHOT_COUNT="10000"
  #ETCD_HEARTBEAT_INTERVAL="100"
  #ETCD_ELECTION_TIMEOUT="1000"
  ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
  ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:4001,http://0.0.0.0:2379"
  #ETCD_MAX_SNAPSHOTS="5"
  #ETCD_MAX_WALS="5"
  #ETCD_CORS=""
  #
  #
  ETCD_INITIAL_ADVERTISE_PEER_URLS="http://etcd-node2:2380"
  # if you use different ETCD_NAME (e.g. test), set ETCD_INITIAL_CLUSTER value for this name, i.e. "test=http://..."
  ETCD_INITIAL_CLUSTER="etcd-node1=http://etcd-node1:2380,etcd-node2=http://etcd-node2:2380,etcd-master=http://etcd-master:2380"
  ETCD_INITIAL_CLUSTER_STATE="new"
  ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
  ETCD_ADVERTISE_CLIENT_URLS="http://etcd-node2:2379,http://etcd-node2:4001"
  

      4、启动Etcd服务
        
        # systemctl restart etcd
  
        
        # systemctl restart etcd
  
        
        # systemctl restart etcd
  
      5、查看服务状态
        
      # etcdctl member list
  6c74f3fd7534bb5: name=etcd-node1 peerURLs=http://etcd-node1:2380 clientURLs=http://etcd-node1:2379,http://etcd-node1:4001 isLeader=false
  a57a17f287dbe7bb: name=etcd-node2 peerURLs=http://etcd-node2:2380 clientURLs=http://etcd-node2:2379,http://etcd-node2:4001 isLeader=true
  ffe21a7812eb7c5f: name=etcd-master peerURLs=http://etcd-master:2380 clientURLs= isLeader=false
  

  
        # etcdctl member list
  6c74f3fd7534bb5: name=etcd-node1 peerURLs=http://etcd-node1:2380 clientURLs=http://etcd-node1:2379,http://etcd-node1:4001 isLeader=false
  a57a17f287dbe7bb: name=etcd-node2 peerURLs=http://etcd-node2:2380 clientURLs=http://etcd-node2:2379,http://etcd-node2:4001 isLeader=true
  ffe21a7812eb7c5f: name=etcd-master peerURLs=http://etcd-master:2380 clientURLs= isLeader=false
  

        
        # etcdctl member list
  6c74f3fd7534bb5: name=etcd-node1 peerURLs=http://etcd-node1:2380 clientURLs=http://etcd-node1:2379,http://etcd-node1:4001 isLeader=false
  a57a17f287dbe7bb: name=etcd-node2 peerURLs=http://etcd-node2:2380 clientURLs=http://etcd-node2:2379,http://etcd-node2:4001 isLeader=true
  ffe21a7812eb7c5f: name=etcd-master peerURLs=http://etcd-master:2380 clientURLs= isLeader=false
  

  四、测试集群同步情况
  

  
        # etcdctl set zlyangdir/zlyangkeys0 0
  0
        # etcdctl ls zlyangdir
  zlyangdir/zlyangkeys0
        # etcdctl get zlyangdir/zlyangkeys0
  0
  

  
        # etcdctl ls zlyangdir
  zlyangdir/zlyangkeys0
        # etcdctl get zlyangdir/zlyangkeys0
  0
  

  
        # etcdctl ls zlyangdir
  zlyangdir/zlyangkeys0
        # etcdctl get zlyangdir/zlyangkeys0
  0
  

  

  官方部署方案:https://coreos.com/etcd/docs/latest/op-guide/clustering.html
  

  至此Etcd集群搭建已经完成,如有问题请联系:DBA_Master@163.com
  




页: [1]
查看完整版本: CentOS 部署Etcd集群