etcd集群的部署
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,node1 192.168.56.173node2 192.168.56.174node3 192.168.56.200node* 为主机名称[root@node1 ~]# cat /etc/red
千家信息网最后更新 2025年12月03日etcd集群的部署
node1 192.168.56.173node2 192.168.56.174node3 192.168.56.200node* 为主机名称[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=notifyTimeoutStartSec=0Restart=alwaysExecStartPre=-/usr/bin/mkdir -p /data/etcd2ExecStart=/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=notifyTimeoutStartSec=0Restart=alwaysExecStartPre=-/usr/bin/mkdir -p /data/etcd2ExecStart=/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=notifyTimeoutStartSec=0Restart=alwaysExecStartPre=-/usr/bin/mkdir -p /data/etcd2ExecStart=/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 26Sep 02 23:44:46 node3 etcd[2675]: 52aafe548d51c9ea [logterm: 20, index: 623, vote: 0] voted for e37f661be0f0e44a [logterm: 20, index: 623] at term 26Sep 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 list161efc88633d5fd4: name=etcd0 peerURLs=http://192.168.56.173:2380 clientURLs=http://192.168.56.173:2379,http://192.168.56.173:4001 isLeader=false52aafe548d51c9ea: name=etcd2 peerURLs=http://192.168.56.200:2380 clientURLs=http://192.168.56.200:2379,http://192.168.56.200:4001 isLeader=falsee37f661be0f0e44a: 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-healthmember 161efc88633d5fd4 is healthy: got healthy result from http://192.168.56.173:2379member 52aafe548d51c9ea is healthy: got healthy result from http://192.168.56.200:2379member e37f661be0f0e44a is healthy: got healthy result from http://192.168.56.174:2379cluster 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 ~]#
三个
启动会
状态
节点
服务
监控
集群
主体
主机
名称
基本操作
备注
方式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
钉钉里文件怎么找到数据库
计算机网络技术主要课程
电视中心服务器连接失败怎么回事
天长市湘兰网络技术有限公司
手机能关服务器防火墙吗
网络安全知识竞赛没满80
微软数据库商业模式
网络技术员工作表现
版库互联网科技
软件开发我国法律
学习软件开发去哪里找工作
服务器上的数据库修改
cs数据库连接
网络安全问卷调查问题及报告
数据库学习csdn
异购服务器
js显示数据库日期
天津可视化人口系统软件开发
jsp读取数据库的图片
台湾的软件开发薪资
电视中心服务器连接失败怎么回事
检索国内学位论文的数据库
了那数据库
中国服务器产业发展
学习软件开发去哪里找工作
服务器额定功率计算器
酒店电脑网络安全
app 视频 服务器
信息网络安全应急演练评估
数据库的技术构成