etcd集群的部署
admin
2023-03-16 13:41:09
0
node1  192.168.56.173
node2 192.168.56.174
node3 192.168.56.200
node* 为主机名称
[root@node1 ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@node1 ~]#


https://github.com/coreos/etcd/releases/download/v3.0.15/etcd-v3.0.15-linux-amd64.tar.gz 
tar xf  etcd-v3.0.15-linux-amd64.tar.gz 
cd etcd-v3.0.15-linux-amd64 
cp etcd  /usr/bin/
cp etcdctl /usr/bin/

192.168.56.173(node1)

cat  /etc/systemd/system/etcd2.service

[Unit]
Description=etcd2.service
[Service]
Type=notify
TimeoutStartSec=0
Restart=always
ExecStartPre=-/usr/bin/mkdir -p /data/etcd2
ExecStart=/usr/bin/etcd \
  --data-dir /data/etcd2 \
  --name etcd0 \
  --advertise-client-urls http://192.168.56.173:2379,http://192.168.56.173:4001 \
  --listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \
  --initial-advertise-peer-urls http://192.168.56.173:2380 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-cluster-token etcd-cluster-1 \
  --initial-cluster etcd0=http://192.168.56.173:2380,etcd1=http://192.168.56.174:2380,etcd2=http://192.168.56.200:2380
[Install]
WantedBy=multi-user.target
# 设置服务自启动
systemctl enable /etc/systemd/system/etcd2.service
# 启动etcd1  (先不要做 三个节点都部署完毕 在分别启动 否则启动会hang)
systemctl restart etcd2.service

192.168.56.174(node2)

[root@node2 ~]# cat  /etc/systemd/system/etcd2.service 

[Unit]
Description=etcd2.service
[Service]
Type=notify
TimeoutStartSec=0
Restart=always
ExecStartPre=-/usr/bin/mkdir -p /data/etcd2
ExecStart=/usr/bin/etcd \
  --data-dir /data/etcd2 \
  --name etcd1 \
  --advertise-client-urls http://192.168.56.174:2379,http://192.168.56.174:4001 \
  --listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \
  --initial-advertise-peer-urls http://192.168.56.174:2380 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-cluster-token etcd-cluster-1 \
  --initial-cluster etcd0=http://192.168.56.173:2380,etcd1=http://192.168.56.174:2380,etcd2=http://192.168.56.200:2380
[Install]
WantedBy=multi-user.target
# 设置服务自启动
systemctl enable /etc/systemd/system/etcd2.service
# 启动etcd2  (先不要做 三个节点都部署完毕 在分别启动 否则启动会hang)
systemctl restart etcd2.service

192.168.56.200(node2)

[root@node3~]# cat  /etc/systemd/system/etcd2.service 

[root@node3 ~]# cat  /etc/systemd/system/etcd2.service 
[Unit]
Description=etcd2.service
[Service]
Type=notify
TimeoutStartSec=0
Restart=always
ExecStartPre=-/usr/bin/mkdir -p /data/etcd2
ExecStart=/usr/bin/etcd \
  --data-dir /data/etcd2 \
  --name etcd2 \
  --advertise-client-urls http://192.168.56.200:2379,http://192.168.56.200:4001 \
  --listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \
  --initial-advertise-peer-urls http://192.168.56.200:2380 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-cluster-token etcd-cluster-1 \
  --initial-cluster etcd0=http://192.168.56.173:2380,etcd1=http://192.168.56.174:2380,etcd2=http://192.168.56.200:2380
[Install]
WantedBy=multi-user.target
# 设置服务自启动
systemctl enable /etc/systemd/system/etcd2.service
# 启动etcd3  (先不要做 三个节点都部署完毕 在分别启动 否则启动会hang)
systemctl restart etcd2.service

备注:启动的方式一个一个启动 否则systemctl  restart   etcd2.service 会hang住


查看状态 

[root@node3 ~]# systemctl  status etcd2.service 
● etcd2.service
   Loaded: loaded (/etc/systemd/system/etcd2.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-09-02 23:43:59 CST; 10min ago
  Process: 2673 ExecStartPre=/usr/bin/mkdir -p /data/etcd2 (code=exited, status=0/SUCCESS)
 Main PID: 2675 (etcd)
   CGroup: /system.slice/etcd2.service
           └─2675 /usr/bin/etcd --data-dir /data/etcd2 --name etcd2 --advertise-client-urls http://192.168.56.200:2379,http://192.168.56.200:4001 --listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001...

Sep 02 23:44:45 node3 etcd[2675]: established a TCP streaming connection with peer e37f661be0f0e44a (stream Message reader)
Sep 02 23:44:45 node3 etcd[2675]: established a TCP streaming connection with peer 161efc88633d5fd4 (stream MsgApp v2 reader)
Sep 02 23:44:45 node3 etcd[2675]: established a TCP streaming connection with peer 161efc88633d5fd4 (stream Message reader)
Sep 02 23:44:45 node3 etcd[2675]: closed an existing TCP streaming connection with peer 161efc88633d5fd4 (stream Message writer)
Sep 02 23:44:45 node3 etcd[2675]: established a TCP streaming connection with peer 161efc88633d5fd4 (stream Message writer)
Sep 02 23:44:46 node3 etcd[2675]: 52aafe548d51c9ea [term: 25] received a MsgVote message with higher term from e37f661be0f0e44a [term: 26]
Sep 02 23:44:46 node3 etcd[2675]: 52aafe548d51c9ea became follower at term 26
Sep 02 23:44:46 node3 etcd[2675]: 52aafe548d51c9ea [logterm: 20, index: 623, vote: 0] voted for e37f661be0f0e44a [logterm: 20, index: 623] at term 26
Sep 02 23:44:46 node3 etcd[2675]: 52aafe548d51c9ea [term: 26] ignored a MsgVote message with lower term from 161efc88633d5fd4 [term: 24]
Sep 02 23:44:46 node3 etcd[2675]: raft.node: 52aafe548d51c9ea elected leader e37f661be0f0e44a at term 26
[root@node3 ~]#
[root@node3 ~]# netstat  -lntup 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      869/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1132/master         
tcp6       0      0 :::2379                 :::*                    LISTEN      2675/etcd           
tcp6       0      0 :::2380                 :::*                    LISTEN      2675/etcd           
tcp6       0      0 :::22                   :::*                    LISTEN      869/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1132/master         
tcp6       0      0 :::4001                 :::*                    LISTEN      2675/etcd           
[root@node3 ~]#

查看相关主体的状态

[root@node1 etcd-v3.0.15-linux-amd64]# etcdctl member list
161efc88633d5fd4: name=etcd0 peerURLs=http://192.168.56.173:2380 clientURLs=http://192.168.56.173:2379,http://192.168.56.173:4001 isLeader=false
52aafe548d51c9ea: name=etcd2 peerURLs=http://192.168.56.200:2380 clientURLs=http://192.168.56.200:2379,http://192.168.56.200:4001 isLeader=false
e37f661be0f0e44a: name=etcd1 peerURLs=http://192.168.56.174:2380 clientURLs=http://192.168.56.174:2379,http://192.168.56.174:4001 isLeader=true
[root@node1 etcd-v3.0.15-linux-amd64]#

集群的状态监控(可以结合zabbix做监控)

[root@node1 etcd-v3.0.15-linux-amd64]# etcdctl cluster-health
member 161efc88633d5fd4 is healthy: got healthy result from http://192.168.56.173:2379
member 52aafe548d51c9ea is healthy: got healthy result from http://192.168.56.200:2379
member e37f661be0f0e44a is healthy: got healthy result from http://192.168.56.174:2379
cluster is healthy
[root@node1 etcd-v3.0.15-linux-amd64]#

etcd基本操作

[root@node1 ~]# etcdctl set testkey "hello world"
hello world
[root@node1 ~]# etcdctl   get  testkey 
hello world
[root@node1 ~]# curl -L http://localhost:2379/v2/keys/testkey
{"action":"get","node":{"key":"/testkey","value":"hello world","modifiedIndex":11,"createdIndex":11}}
[root@node1 ~]# curl -L http://192.168.56.173:2379/v2/keys/testkey
{"action":"get","node":{"key":"/testkey","value":"hello world","modifiedIndex":11,"createdIndex":11}}
[root@node1 ~]#


相关内容

热门资讯

【今日要闻】“人民棋牌开挂神器... 【今日要闻】“人民棋牌开挂神器?”(太坑了果然有挂)您好,人民棋牌这个游戏其实有挂的,确实是有挂的,...
今日重磅消息“免安装麻将机控器... 网上科普关于“免安装麻将机控器好牌有没有挂”话题很是火热,小编也是针对免安装麻将机控器好牌作*弊开挂...
重磅消息“新蜜瓜大厅拼三张怎么... 重磅消息“新蜜瓜大厅拼三张怎么装挂?”(太坑了果然有挂)您好,新蜜瓜大厅拼三张这个游戏其实有挂的,确...
终于明白“新蛮王炸/金/花辅助... 终于明白“新蛮王炸/金/花辅助器?”(必胜开挂神器)您好,新蛮王炸/金/花这个游戏其实有挂的,确实是...
商务部回应TikTok将在美成... 商务部新闻发言人何咏前12月25日在回答关于TikTok将在美成立合资公司的有关提问时说,中国政府希...
【第一消息】“白金岛字牌集有挂... 您好:白金岛字牌集这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款...
今日重磅消息“新奇玩乐辅助器?... 有 亲,根据资深记者爆料新奇玩乐是可以开挂的,确实有挂(咨询软件无需打开...
手机套餐升易降难,重重套路“绑... “升套餐时一个电话、一条短信就能搞定,想降下来就困难重重。”据人民日报报道,尽管手机通信“提速降费”...
重磅消息“十三十三水到底是不是... 有 亲,根据资深记者爆料十三十三水是可以开挂的,确实有挂(咨询软件无需打...
玩家分享攻略“胡乐麻将是不是有... 玩家分享攻略“胡乐麻将是不是有挂?”(太坑了原来有挂)您好,胡乐麻将这个游戏其实有挂的,确实是有挂的...