CentOS 部署Etcd集群
admin
2023-03-17 09:21:16
0


一、环境介绍

操作系统信息:CentOS 7 64位

服务器信息:

    192.168.80.130  Etcd-master

    192.168.80.131  Etcd-node1

    192.168.80.132  Etcd-node2



二、部署前准备


  1、设置免密登录

  [Master]

        [root@Etcd-master ~]# ssh-keygen

        [root@Etcd-master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub Etcd-node1

        [root@Etcd-master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub Etcd-node2


  2、所有机器上操作

    a、添加hosts

        [root@Etcd-master ~]# 192.168.80.130  Etcd-master

        [root@Etcd-master ~]# 192.168.80.131  Etcd-node1

        [root@Etcd-master ~]# 192.168.80.132  Etcd-node2

    

    b、同步时间

        [root@Etcd-master ~]# 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

        [root@Etcd-master ~]# yum groupinstall "Development Tools" -y

        [root@Etcd-master ~]# cp -Rf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

        [root@Etcd-master ~]# ntpdate 133.100.11.8

        [root@Etcd-master ~]# sed -i 's#ZONE="America/New_York"#ZONE="Asia/Shanghai"#g' /etc/sysconfig/clock

        [root@Etcd-master ~]# hwclock -w

        [root@Etcd-master ~]# date -R


三、部署Etcd


    [Master]

    1、安装及配置Master节点

    [root@Etcd-master ~]# yum -y install etcd

    [root@Etcd-master ~]# cat /etc/etcd/etcd.conf

# [member]

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=""

#

#[cluster]

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"


    [Node]

    2、安装及配置Node1节点

        [root@Etcd-node1 ~]# yum -y install etcd

        [root@Etcd-node1 ~]# cat /etc/etcd/etcd.conf

# [member]

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=""

#

#[cluster]

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节点:

        [root@Etcd-node2 ~]# yum -y install etcd

        [root@Etcd-node2 ~]# cat /etc/etcd/etcd.conf

# [member]

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=""

#

#[cluster]

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服务

        [master]

        [root@Etcd-master ~]# systemctl restart etcd

        [node1]

        [root@Etcd-node1 ~]# systemctl restart etcd

        [node2]

        [root@Etcd-node2 ~]# systemctl restart etcd

    5、查看服务状态

        [master]

    [root@Etcd-master ~]# 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


        [node1]

        [root@Etcd-node1 ~]# 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


        [node2]

        [root@Etcd-node2 ~]# 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


四、测试集群同步情况


     [master]

        [root@Etcd-master ~]# etcdctl set zlyangdir/zlyangkeys0 0

0

        [root@Etcd-master ~]# etcdctl ls zlyangdir

zlyangdir/zlyangkeys0

        [root@Etcd-master ~]# etcdctl get zlyangdir/zlyangkeys0

0


    [node1]

        [root@Etcd-node1 ~]# etcdctl ls zlyangdir

zlyangdir/zlyangkeys0

        [root@Etcd-node1 ~]# etcdctl get zlyangdir/zlyangkeys0

0


    [node2]

        [root@Etcd-node2 ~]# etcdctl ls zlyangdir

zlyangdir/zlyangkeys0

        [root@Etcd-node2 ~]# etcdctl get zlyangdir/zlyangkeys0

0



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


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


相关内容

热门资讯

ICC逮捕令致内塔尼亚胡出行受... 【环球网报道】据以色列《新消息报》网站26日报道,由于国际刑事法院(ICC)2024年就以色列在巴勒...
“罗永浩怒斥电视机厂商”戳中了... 7月25日晚,罗永浩发文怒斥当下电视机的产品设计。据都市快报报道,罗永浩表示,他为家中老人换了两次电...
各地各部门坚持人民至上筑牢防汛... 新华社北京7月25日电 题:风雨同舟映初心——各地各部门坚持人民至上筑牢防汛抗洪坚实堤坝新华社记者当...
法院回应LV起诉地产开发商 7月26日,厦门市湖里区人民法院发布情况通报,网传案情“路易威登公司起诉地产开发商,因楼盘外立面四叶...
携程的问题不仅在于垄断,更在于... 国内平台科技企业一般都是通过向B端收费、抽佣获利,尽量给消费者创造一个比较清爽的使用环境。携程算是最...
海信电视用遥控器关闭后打不开 原因可能是遥控器的电池没有装好或者是没电了,需要重新安装一下电池或者更换新的电池试一试;原因可能是电...
电视机突然没电源打不开了 有可能是电视开关的电源线断了;可能是电视在使用时短路;可能是电源插头插座松动;可能是电视内部零件接触...
电热水器下面那个小龙头漏水是怎... 电热水器下面那个小龙头漏水是怎么回事?1、因为安全阀发生了故障或者是已经被损坏了,就会有漏水的现象;...
回答下电脑桌面一片空白怎么恢复 电脑桌面上如果是一片空白,那说明您的电脑图标被隐藏了,想要恢复就要按照如下的三个步骤去操作才行。 第...
澳总理要找特朗普“理论”关税:... 当地时间7月26日,澳大利亚总理阿尔巴尼斯表示,他将直接向美国总统特朗普提出抗议,反对美国新近宣布的...