当前位置: 首页 > news >正文

etcd安装与配置完全指南

etcd 是一个基于 Raft 协议的分布式键值存储系统,主要用于服务发现、配置共享和分布式锁管理。

项目信息

  • 项目仓库: https://github.com/etcd-io/etcd
  • 当前版本: 3.6.5
  • 下载链接: etcd-v3.6.5-linux-amd64.tar.gz

安装步骤

1. 解压安装包

# 下载并解压到指定目录
tar -xzf etcd-v3.6.5-linux-amd64.tar.gz
sudo mv etcd-v3.6.5-linux-amd64 /usr/local/etcd-v3.6.5/# 设置文件权限
sudo chown -R $(whoami):$(whoami) /usr/local/etcd-v3.6.5/
chmod +x /usr/local/etcd-v3.6.5/etcd
chmod +x /usr/local/etcd-v3.6.5/etcdctl

2. 创建 systemd 服务实现持久化运行

创建 /etc/systemd/system/etcd.service 文件:

[Unit]
Description=etcd key-value store
After=network.target[Service]
Type=notify
ExecStart=/usr/local/etcd-v3.6.5/etcd \--data-dir=/data/etcd \--logger=zap \--log-outputs=/data/etcd/etcd.log \--log-level=info \--listen-client-urls http://0.0.0.0:2379 \--advertise-client-urls http://0.0.0.0:2379
Restart=always
RestartSec=10[Install]
WantedBy=multi-user.target
配置项说明
[Unit] 部分
  • Description=etcd key-value store: 服务描述信息
  • After=network.target: 网络服务启动后再启动此服务
[Service] 部分
  • Type=notify: 服务类型为 notify,服务启动完成后会通知 systemd
  • ExecStart: 服务启动命令及参数配置:
    • --data-dir=/data/etcd: 指定 etcd 数据存储目录
    • --logger=zap: 使用 zap 作为日志记录器
    • --log-outputs=/data/etcd/etcd.log: 日志输出文件路径
    • --log-level=info: 设置日志级别
    • --listen-client-urls http://0.0.0.0:2379: 监听客户端连接端口
    • --advertise-client-urls http://0.0.0.0:2379: 对外通告的客户端访问地址
  • Restart=always: 服务异常退出时总是自动重启
  • RestartSec=10: 重启间隔时间(秒)
[Install] 部分
  • WantedBy=multi-user.target: 服务归属于 multi-user.target

3. 启动服务

# 重新加载 systemd 配置
systemctl daemon-reload# 设置开机自启
systemctl enable etcd# 启动服务
systemctl start etcd# 检查服务状态
systemctl status etcd

验证安装

检查版本一致性

# 检查 etcdctl 和 etcd 版本是否匹配
etcdctl version
etcd --version

集群健康检查

# 检查集群健康状态
etcdctl endpoint health# 查看集群成员列表
etcdctl member list
输出字段解析
  • 成员 ID: 如 8e9e05c52164694d
  • 成员状态: started 表示正在运行
  • 成员名称: 如 default
  • peer URL: http://localhost:2380,集群内部通信地址
  • client URL: http://0.0.0.0:2379,客户端连接地址
  • learner 状态: false 表示不是 learner 节点

安全配置

默认安全状态

  • 无默认密码: etcd 初始安装时没有默认用户名和密码
  • 默认无认证: 新安装实例默认无需认证即可访问

启用认证

# 1. 创建 root 用户
etcdctl user add root
# 输入密码并确认# 2. 启用认证
etcdctl auth enable# 3. 授权角色权限
etcdctl user grant-role root root# 4. 查看用户列表
etcdctl user list

⚠️ 重要提醒: 必须先创建 root 用户再启用认证,否则会出现 root user does not exist 错误。

启用认证后,所有 etcdctl 命令都需要提供凭证:

etcdctl --user root:password command

常见问题解答

Q1: 为什么手动启动进程会消失且数据丢失?

/usr/local/etcd-v3.6.5/etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379 >/dev/null 2>&1 &

原因: 未指定 --data-dir 参数,etcd 使用临时目录存储数据,进程停止后数据丢失。

解决方案: 明确指定数据目录

/usr/local/etcd-v3.6.5/etcd \--data-dir=/data/etcd \--listen-client-urls http://0.0.0.0:2379 \--advertise-client-urls http://0.0.0.0:2379

Q2: systemd 配置修改后提示需要重新加载?

警告信息:

Warning: etcd.service changed on disk. Run 'systemctl daemon-reload' to reload units.

解决方法:

systemctl daemon-reload
systemctl restart etcd
systemctl status etcd

Q3: 如何查看更多配置选项?

/usr/local/etcd-v3.6.5/etcd --help
http://www.dtcms.com/a/558519.html

相关文章:

  • 一个基于深度学习文本分析与格式识别技术开发的不同版本Word文档对比工具
  • 3.4 流量控制与可靠传输机制【2017统考真题】
  • 做外国网用哪些网站广州头条新闻最新
  • 网站建设设计公司类网站织梦模板 带手机端国内公关公司
  • 用老域名重新做个网站广东集团网站建设
  • 在自己网站建立自己的外链主流的网站开发技术有
  • World of Warcraft [CLASSIC] Icecrown Citadel (ICC)12H [Shushia]
  • 网站页面 原则东光做淘宝网站
  • 怎么做pp网站网站开发员纵向发展
  • 如何创作网站与众不同的网站
  • 9.9网站怎么做怎样做企业营销网站
  • 任务计算和计算图优化
  • 郑州网站推广免费网站模版建设
  • gogs 被攻击,数据库 CPU 占用 100%
  • java企业OA自动化办公源码
  • 平凉网站建设redu做网站 图片格式
  • 龙元建设集团股份有限公司网站地址免费高清大图网站
  • 河北沧州泊头做网站的电话怎么做网站优化推广
  • 北京地下室地面砖缝有渗漏水现象应该怎样处理解决
  • 网站建设的宣传词万户信息 做网站怎么样
  • 城阳做网站公司php网站安装包制作
  • 32HAL——定时器总篇
  • 骑士人才网全系与phpyun人才网系统数据转移或互转的技术文档和要领,和大家一起共勉
  • 车载消息中间件FastDDS 源码解析(一)FastDDS 介绍和使用
  • 上街免费网站建设wordpress迁移后无法登录
  • 找人建站做网站需要注意什么问题广州seo优化费用
  • 做头像的网站有没有做京东客好的网站推荐
  • 上海家装设计网站网站内容的创新
  • 百度快照投诉seo优化推广工程师招聘
  • 看谁做的好舞蹈视频网站建设银行光明支行网站