服务概览
- 系统用户:
etcd - 默认节点名称:自动生成
etcd-<timestamp> - 配置文件:
/etc/etcd/etcd.yml - 数据目录:
/var/lib/etcd - 二进制文件:
/usr/local/bin/etcd,/usr/local/bin/etcdctl, 和/usr/local/bin/etcdutl - 日志级别:
debug
网络与端口
- 客户流量:
http://localhost:2379 - 对等流量:
http://localhost:2380 - 默认情况下仅本地访问(绑定到本地主机)
系统管理
systemctl status etcd # Check status
systemctl restart etcd # Start service
systemctl stop etcd # Stop service
systemctl restart etcd # Restart service
基本命令
# Check etcd server version
etcd --version
# Check etcdctl client version
etcdctl version
# Check etcdutl version
etcdutl version
# Set a key
etcdctl put mykey "HelloEtcd"
# Get a key
etcdctl get mykey
# List all keys with values
etcdctl get "" --prefix
# List only key names
etcdctl get "" --prefix --keys-only
# Delete a key
etcdctl del mykey
# Check cluster health
etcdctl endpoint health
# List cluster members
etcdctl --endpoints=http://127.0.0.1:2379 member list
# Show cluster leader
etcdctl endpoint status --write-out=table
# Watch a key for changes
etcdctl watch mykey
备份与恢复
备份快照(将当前的 etcd 状态保存到文件中):
etcdctl snapshot save /root/etcd-backup.db
检查快照状态:
etcdutl snapshot status /root/etcd-backup.db -w table
停止etcd服务以避免冲突:
systemctl stop etcd
删除数据目录的现有内容:
rm -rf /var/lib/etcd/*
恢复快照:
etcdutl snapshot restore /root/etcd-backup.db --data-dir /var/lib/etcd
确保权限正确:
chown -R etcd:etcd /var/lib/etcd
再次启动etcd服务:
systemctl start etcd
笔记
- 默认单节点集群,适合开发/测试。
- 配置调试日志级别。
- 对于生产,为客户端和对等通信启用 TLS。
- 考虑设置多节点集群以实现高可用性。
- 使用防火墙规则将端口 2379(客户端)和 2380(对等方)限制为受信任的主机。
- 调整
/etc/etcd/etcd.yml进行高级配置并重新启动etcd应用更改的服务。 - 在执行破坏性操作(删除/恢复/压缩)之前始终备份数据。
- 确保
/var/lib/etcd属于etcd:etcd;不正确的权限可能会阻止 etcd 在恢复或数据更改后启动。