etcd参数解释

devtools/2024/12/22 14:58:22/
etcd__2">etcd 版本
[root@aaaaaa ~]#  /data/etcd/etcd-v3.5.15-linux-amd64/etcd --version
etcd Version: 3.5.15
Git SHA: 9a5533382
Go Version: go1.21.12
Go OS/Arch: linux/amd64
基础命令:
  • etcd [flags]:启动一个 etcd 服务器。
  • etcd --version:显示 etcd 的版本号。
  • etcd -h | --help:显示 etcd 的帮助信息。
  • etcd --config-file:服务器配置文件的路径。如果提供了配置文件,其他命令行标志和环境变量将被忽略。
成员配置:
  • –name ‘default’:此成员的人类可读名称。
  • –data-dir ‘${name}.etcd’:数据目录的路径。
  • –wal-dir ‘’:专用 WAL 目录的路径。
  • –snapshot-count ‘100000’:触发磁盘快照的已提交事务数。
  • –heartbeat-interval ‘100’:心跳间隔时间(毫秒)。
  • –election-timeout ‘1000’:选举超时时间(毫秒)。
  • –initial-election-tick-advance ‘true’:是否在启动时快进初始选举 tick,以加快选举速度。
  • –listen-peer-urls ‘http://localhost:2380’:监听对等网络流量的 URL 列表。
  • –listen-client-urls ‘http://localhost:2379’:监听客户端 gRPC 流量的 URL 列表。
  • –listen-client-http-urls ‘’:仅监听 HTTP 客户端流量的 URL 列表。启用此标志会从 --listen-client-urls 中移除 HTTP 服务。
  • –max-snapshots ‘5’:保留的最大快照文件数(0 为无限制)。
  • –max-wals ‘5’:保留的最大 WAL 文件数(0 为无限制)。
  • –quota-backend-bytes ‘0’:后端大小超过给定配额时发出警报(0 默认为低空间配额)。
  • –backend-bbolt-freelist-type ‘map’:boltdb 后端使用的空闲列表类型(支持 array 和 map 类型)。
  • –backend-batch-interval ‘’:提交后端事务之前的最大时间。
  • –backend-batch-limit ‘0’:提交后端事务之前的最大操作数。
  • –max-txn-ops ‘128’:事务中允许的最大操作数。
  • –max-request-bytes ‘1572864’:服务器将接受的最大客户端请求大小(字节)。
  • –max-concurrent-streams ‘math.MaxUint32’:每个客户端同时可以打开的最大并发流数。
  • –enable-grpc-gateway:启用 GRPC 网关。
  • –grpc-keepalive-min-time ‘5s’:客户端在 ping 服务器之前应等待的最小时间间隔。
  • –grpc-keepalive-interval ‘2h’:服务器向客户端 ping 的频率,以检查连接是否存活(设置为 0 禁用)。
  • –grpc-keepalive-timeout ‘20s’:在关闭无响应连接之前额外等待的时间(设置为 0 禁用)。
  • –socket-reuse-port ‘false’:启用时设置套接字选项 SO_REUSEPORT,允许重新绑定已在使用中的端口。
  • –socket-reuse-address ‘false’:启用时设置套接字选项 SO_REUSEADDR,允许绑定到 TIME_WAIT 状态的地址。
  • –raft-read-timeout ‘5s’:设置在每个 rafthttp 连接上的读取超时。
  • –raft-write-timeout ‘5s’:设置在每个 rafthttp 连接上的写入超时。
集群配置:
  • –initial-advertise-peer-urls ‘http://localhost:2380’:广告到整个集群的此成员的对等 URL 列表。
  • –initial-cluster ‘default=http://localhost:2380’:引导时的初始集群配置。
  • –initial-cluster-state ‘new’:初始集群状态(在引导新集群时为 ‘new’,在向现有集群添加新成员时为 ‘existing’)。初始化成功后(引导或添加),重启时将忽略此标志。
  • –initial-cluster-token ‘etcd-cluster’:在引导期间的 etcd 集群的初始集群令牌。指定此项可以防止在运行多个集群时发生意外的跨集群交互。
  • –advertise-client-urls ‘http://localhost:2379’:广告到公众的此成员的客户端 URL 列表。广告的客户端 URL 应对与 etcd 集群通信的机器可访问。etcd 客户端库解析这些 URL 以连接到集群。
  • –discovery ‘’:用于引导集群的发现 URL。
  • –discovery-fallback ‘proxy’:当发现服务失败时的预期行为(‘exit’ 或 ‘proxy’)。“proxy” 仅支持 v2 API。
  • –discovery-proxy ‘’:用于发现服务流量的 HTTP 代理。
  • –discovery-srv ‘’:用于引导集群的 DNS srv 域。
  • –discovery-srv-name ‘’:引导时查询的 dns srv 名称后缀。
  • –strict-reconfig-check ‘true’:拒绝可能导致丧失法定人数的重新配置请求。
  • –pre-vote ‘true’:启用以运行额外的 Raft 选举阶段。
  • –auto-compaction-retention ‘0’:自动压缩保留长度。0 表示禁用自动压缩。
  • –auto-compaction-mode ‘periodic’:解释 ‘auto-compaction-retention’ 为:periodic|revision。‘periodic’ 表示基于持继时间的保留,如果没有提供时间单位,默认为小时(例如 ‘5m’)。‘revision’ 表示基于修订号的保留。
  • –enable-v2 ‘false’:接受 etcd V2 客户端请求。已弃用,将在 v3.6 中废止。
  • –v2-deprecation ‘not-yet’:v2store 弃用的阶段。允许选择加入更高的兼容模式。支持的值包括:
    ‘not-yet’:如果 v2store 有有意义的内容,则发出警告(v3.5 中的默认值)
    ‘write-only’:不允许自定义 v2 状态(计划在 v3.6 中默认)
    ‘write-only-drop-data’:将删除自定义 v2 状态!
    ‘gone’:不再维护 v2store。(计划在 v3.7 中默认)
安全配置:
  • –cert-file ‘’:客户端服务器 TLS 证书文件的路径。
  • –key-file ‘’:客户端服务器 TLS 密钥文件的路径。
  • –client-cert-auth ‘false’:启用客户端证书认证。
  • –client-cert-file ‘’:显式对等客户端 TLS 证书文件的路径,否则在需要客户端认证时将使用证书文件。
  • –client-key-file ‘’:显式对等客户端 TLS 密钥文件的路径,否则在需要客户端认证时将使用密钥文件。
  • –client-crl-file ‘’:客户端证书撤销列表文件的路径。
  • –client-cert-allowed-hostname ‘’:客户端证书认证的 SAN 主机名的逗号分隔列表。
  • –trusted-ca-file ‘’:客户端服务器 TLS 可信 CA 证书文件的路径。
  • –auto-tls ‘false’:使用生成的证书进行客户端 TLS。
  • –peer-cert-file ‘’:对等服务器 TLS 证书文件的路径。
  • –peer-key-file ‘’:对等服务器 TLS 密钥文件的路径。
  • –peer-client-cert-auth ‘false’:启用对等客户端证书认证。
  • –peer-trusted-ca-file ‘’:对等服务器 TLS 可信 CA 证书文件的路径。
  • –peer-cert-allowed-cn ‘’:允许的对等 TLS 认证的 CN 的逗号分隔列表。
  • –peer-cert-allowed-hostname ‘’:允许的对等 TLS 认证的 SAN 主机名的逗号分隔列表。
  • –peer-auto-tls ‘false’:如果未提供 --peer-key-file 和 --peer-cert-file,则使用自动生成的证书进行对等 TLS。
  • –peer-client-cert-file ‘’:显式对等客户端 TLS 证书文件的路径,否则在需要客户端认证时将使用对等证书文件。
  • –peer-client-key-file ‘’:显式对等客户端 TLS 密钥文件的路径,否则在需要客户端认证时将使用对等密钥文件。
  • –self-signed-cert-validity ‘1’:当您指定 ClientAutoTLS 和 PeerAutoTLS 时,etcd 自动生成的客户端和对等证书的有效期,单位为年,默认为 1 年。
  • –peer-crl-file ‘’:对等证书撤销列表文件的路径。
  • –cipher-suites ‘’:客户端/服务器和对等之间支持的 TLS 密码套件的逗号分隔列表(为空将由 Go 自动填充)。
  • –cors ‘*’:CORS(跨源资源共享)的来源白名单,逗号分隔(为空或 * 表示允许所有)。
  • –host-whitelist ‘*’:如果服务器不安全,接受来自 HTTP 客户端请求的主机名,逗号分隔(为空或 * 表示允许所有)。
  • –tls-min-version ‘TLS1.2’:etcd 支持的最小 TLS 版本。可能的值:TLS1.2, TLS1.3。
  • –tls-max-version ‘’:etcd 支持的最大 TLS 版本。可能的值:TLS1.2, TLS1.3(为空将由 Go 自动填充)。
授权和认证:
  • –auth-token ‘simple’:指定 v3 认证令牌类型及其选项(‘simple’ 或 ‘jwt’)。
  • –bcrypt-cost 10:指定 bcrypt 算法用于哈希认证密码的成本/强度。有效值在 4 到 31 之间。
  • –auth-token-ttl 300:auth-token-ttl 的时间(秒)。
性能分析和监控:
  • –enable-pprof ‘false’:通过 HTTP 服务器启用运行时分析数据。地址位于客户端 URL + “/debug/pprof/”。
  • –metrics ‘basic’:设置导出度量的详细级别,指定 ‘extensive’ 包括服务器端 grpc 直方图度量。
  • –listen-metrics-urls ‘’:监听 /metrics 和 /health 端点的 URL 列表。对于 https,使用客户端 URL TLS 信息。
日志配置:
  • –logger ‘zap’:当前仅支持 ‘zap’ 结构化日志。
  • –log-outputs ‘default’:指定 ‘stdout’ 或 ‘stderr’ 跳过 journald 日志记录,即使在 systemd 下运行,或列出逗号分隔的输出目标。
  • –log-level ‘info’:配置日志级别。仅支持 debug, info, warn, error, panic 或 fatal。
  • –enable-log-rotation ‘false’:启用单个 log-outputs 文件目标的日志轮换。
  • –log-rotation-config-json ‘{“maxsize”: 100, “maxage”: 0, “maxbackups”: 0, “localtime”: false, “compress”: false}’:如果启用,使用 JSON 日志配置配置日志轮换。MaxSize(MB),MaxAge(天,0=无限制),MaxBackups(0=无限制),LocalTime(使用计算机的本地时间),Compress(gzip)。
实验性分布式跟踪:
  • –experimental-enable-distributed-tracing ‘false’:启用实验性分布式跟踪。
  • –experimental-distributed-tracing-address ‘localhost:4317’:分布式跟踪收集器地址。
  • –experimental-distributed-tracing-service-name ‘etcd’:分布式跟踪服务名称,必须在所有 etcd 实例中相同。
  • –experimental-distributed-tracing-instance-id ‘’:分布式跟踪实例 ID,每个 etcd 实例必须唯一。
  • –experimental-distributed-tracing-sampling-rate ‘0’:每百万跨度收集的样本数。默认禁用。
v2 代理(在 v3.6 中将被弃用):
  • –proxy ‘off’:代理模式设置(‘off’, ‘readonly’ 或 ‘on’)。
  • –proxy-failure-wait 5000:端点保持失败状态的时间(毫秒)。
  • –proxy-refresh-interval 30000:端点刷新间隔的时间(毫秒)。
  • –proxy-dial-timeout 1000:拨号超时的时间(毫秒)。
  • –proxy-write-timeout 5000:写入超时的时间(毫秒)。
  • –proxy-read-timeout 0:读取超时的时间(毫秒)。
实验性功能:
  • –experimental-initial-corrupt-check ‘false’:启用在为任何客户端/对等流量提供服务之前检查数据损坏。
  • –experimental-corrupt-check-time ‘0s’:集群损坏检查通过之间的时间间隔。
  • –experimental-compact-hash-check-enabled ‘false’:启用领导者定期检查追随者压缩哈希。
  • –experimental-compact-hash-check-time ‘1m’:领导者检查追随者压缩哈希之间的时间间隔。
  • –experimental-enable-v2v3 ‘’:通过 v3 后端在给定前缀下服务 v2 请求。已弃用,将在 v3.6 中废止。
  • –experimental-enable-lease-checkpoint ‘false’:启用主要出租人持久化租约剩余 TTL,以防止长期租约的无限自动续约。
  • –experimental-enable-lease-checkpoint-persist ‘false’:启用持久化剩余 TTL,以防止长期租约的无限自动续约。在 v3.6 中始终启用。应用于确保从启用此功能的 v3.5 集群平滑升级。需要启用 experimental-enable-lease-checkpoint。
  • –experimental-compaction-batch-limit 1000:每个压缩批次中删除的最大修订数。
  • –experimental-peer-skip-client-san-verification ‘false’:跳过对等连接中客户端证书的 SAN 字段验证。
  • –experimental-watch-progress-notify-interval ‘10m’:定期观察进度通知的周期。
  • –experimental-downgrade-check-time:两次降级状态检查之间的时间间隔。
  • –experimental-memory-mlock:启用以强制 etcd 页面(特别是 bbolt)保留在 RAM 中。
  • –experimental-warning-apply-duration ‘100ms’:如果请求超过此持续时间,则生成警告。
  • –experimental-txn-mode-write-with-shared-buffer ‘true’:启用写事务在其只读检查操作中使用共享缓冲区。
  • –experimental-bootstrap-defrag-threshold-megabytes:在 etcd 服务器引导期间启用碎片整 理,如果数据库文件大小超过此阈值(以 MB 为单位)。
不安全的特性:
  • –force-new-cluster ‘false’:强制创建一个新的集群配置,从当前状态的一个成员开始。这是一个危险的操作,可能会导致数据丢失。
  • –unsafe-no-fsync ‘false’:禁用所有后端文件系统的同步操作。这可以提高性能,但也增加了数据丢失的风险。
  • –experimental-bootstrap-file ‘’:指定一个包含引导配置的文件,这是一个实验性功能。

http://www.ppmy.cn/devtools/101914.html

相关文章

仿Muduo库实现高并发服务器——LoopThreadPool模块

这个模块需要具备那些基础知识。 线程创建相关操作,锁,条件变量。 设置线程数量: _thread_count 是线程池中,记录线程数量的成员。 创建线程池: 上图就是线程池的创建,将线程与EventLoop对象 通过数组下…

pip package查询网站(性质类似于npmjs.com)

网址:PyPI The Python Package Index python 的依赖包查询网站 就和 node 的 npmjs.com 一样

HTML静态网页成品作业(HTML+CSS)——电影肖申克的救赎介绍设计制作(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…

webflux源码解析(4)-异常request处理

目录 1.说明2. 代码路径 1.说明 在webflux接收请求时,第一步实际上 netty-reacto r将 channel 中的字节信息解析成msg(netty-reactor的解析),进而解析成request,之后才是webflux的处理流程。 实践中发现,当调用接口时若request存…

GRBL接入12V后串口失效问题

1. 问题描述 使用了atmega2560的开发板,烧录了对应的grbl固件,通过串口可以正常访问和控制grbl。 然而,当我接入12V电源并接上电机之后,进行串口控制,会出现几条命令之后,串口突然卡住,无法访问…

【Linux】基本命令(第二篇)

目录 1.命令提示符 2.命令的基本格式 1) 选项的作用 2) 参数的作用 2.cd命令:切换目录 3.pwd命令:显示当前路径 4.ls命令:查看目录下文件 5.mkdir命令:创建目录(文件夹) 6.rmdir命令:删…

Oracle数据库

注意:其实oracle数据库跟mysql数据库基本语法大致一样只有小部分语言存在差别。 安装PL/SQL Developer 一.数据库实例 1.1 启动数据库实例 一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构…

devops学习思路

一、关于devops流程 win上建个maven项目,使用win上的nexus私服。 使用git版本管理。 wmware搭建gitlab、jenkins、ldap、artifactory。 做一套简单的流程。 后面可以加代码扫描、单元测试等等功能。 二、maven、nexus私服学习目标 架构课里的课程 API操作&am…