ETCD:配置参数
原文地址:Configuration flags
etcd通过配置文件,多命令行参数和环境变量进行配置,
可重用的配置文件是YAML文件,其名称和值由一个或多个下面描述的命令行标志组成。为了使用此文件,请将文件路径指定为--config-file
标志或ETCD_CONFIG_FILE
环境变量的值。如果需要的话配置文件示例可以作为入口点创建新的配置文件。
在命令行上设置的选项优先于环境中的选项。 如果提供了配置文件,则其他命令行标志和环境变量将被忽略。例如,etcd --config-file etcd.conf.yml.sample --data-dir /tmp
将会忽略--data-dir
参数。
参数--my-flag
的环境变量的格式为ETCD_MY_FLAG
.它适用于所有参数。
客户端请求官方的etcd端口为2379,2380是节点通信端口。可以将etcd端口设置为接受TLS流量,非TLS流量,或同时接受TLS和非TLS流量。
要在Linux启动时使用自定义设置自动启动etcd,强烈建议使用systemd单元。
成员标记
--name
- 人类可读的该成员的名字
- 默认值:"default"
- 环境变量:ETCD_DATA_DIR
- 该值被该节点吃的
--initial-cluster
参数引用(例如default=http://localhost:2380
).如果使用静态引导程序,则需要与标志中使用的键匹配。当使用发现服务时,每一个成员需要有唯一的名字。Hostname
或者machine-id
是好的选择。
--data-dir
- 数据目录的路径
- 默认值:"${name}.etcd"
- 环境变量:ETCD_DATA_DIR
--wal-dir
- 专用的wal目录的路径。如果这个参数被设置,etcd将会写WAL文件到walDir而不是dataDir,允许使用专用磁盘,并有助于避免日志记录和其他IO操作之间的io竞争。
- 默认值:""
- 环境变量:ETCD_WAL_DIR
--snapshot-count
- 触发一个快照到磁盘的已提交交易的数量
- 默认值:"100000"
- 环境变量:ETCD_SNAPSHOP_COUNT
--heartbeat-interval
- 心跳间隔(毫秒为单位)
- 默认值:"100"
- 环境变量:ETCD_HEARTBEAT_INTERVAL
--election-timeout
- 选举超时时间(毫秒为单位),从文档/tuning.md发现更多细节
- 默认值:"1000"
- 环境变量:ETCD_ELECTION_TIMEOUT
--listen-peer-urls
- 监听在对等节点流量上的URL列表,该参数告诉etcd在指定的协议://IP:port组合上接受来自其对等方的传入请求。协议可以是http或者https。或者,使用
unix://<file-path>
或者unixs://<file-path>
到unix sockets。如果将0.0.0.0作为IP,etcd将监听在所有的接口上的给定端口。如果给定了Ip和端口,etcd将监听指定的接口和端口。可以使用多个URL指定要监听的地址和端口的数量。 etcd将响应来自任何列出的地址和端口的请求。 - 默认值:"http://localhost:2380"
- 环境变量:ETCD_LISTEN_PEER_URLS
- 示例:"http://10.0.0.1:2380"
- 无效的示例:"http://example.com:2380"(绑定的域名是无效的)
--listen-client-urls
- 监听在客户端流量上的URL列表,该参数告诉etcd在指定的协议://IP:port组合上接受来自客户端的传入请求。协议可以是http或者https。或者,使用
unix://<file-path>
或者unixs://<file-path>
到unix sockets。如果将0.0.0.0作为IP,etcd将监听在所有的接口上的给定端口。如果给定了Ip和端口,etcd将监听指定的接口和端口。可以使用多个URL指定要监听的地址和端口的数量。 etcd将响应来自任何列出的地址和端口的请求。 - 默认值:"http://localhost:2379"
- 环境变量:ETCD_LISTEN_CLIENT_URLS
- 示例:"http://10.0.0.1:2379"
- 无效的示例:"http://example.com:2379"(绑定的域名是无效的)
--max-snapshots
- 保留的快照文件最大数量(0为无限)
- 默认值:5
- 环境变量:ETCD_MAX_SNAPSHOTS
- Windows用户的默认设置是无限制的,建议手动设置到5(或出于安全性的考虑)。
--max-wals
- 保留的wal文件最大数量(0为无限)
- 默认值:5
- 环境变量:ETCD_MAX_WALS
- Windows用户的默认设置是无限制的,建议手动设置到5(或出于安全性的考虑)。
--cors
- 以逗号分隔的CORS来源白名单(跨来源资源共享)。
- 默认值:""
- 环境变量:ETCD_CORS
--quota-backent-bytes
- 后端大小超过给定配额时引发警报(0默认为低空间配额)。
- 默认值:0
- 环境变量:ETCD_QUOTA_BACKEND_BYTES
--backend-batch-limit
- BackendBatchLimit是提交后端事务之前的最大数量的操作。
- 默认值:0
- 环境变量:ETCD_BACKEND_BATCH_LIMIT
--backend-bbolt-freelist-type
- etcd后端(bboltdb)使用的自由列表类型(支持数组和映射的类型)。
- 默认值:map
- 环境变量:ETCD_BACKEND_BBOLT_FREELIST_TYPE
--backend-batch-interval
- BackendBatchInterval是提交后端事务之前的最长时间。
- 默认值:0
- 环境变量:ETCD_BACKEND_BATCH_INTERVAL
--max-txn-ops
- 交易中允许的最大操作数。
- 默认值:128
- 环境变量:ETCD_MAX_TXN_OPS
--max-request-bytes
- 服务器将接受的最大客户端请求大小(以字节为单位)。
- 默认值:1572864
- 环境变量:ETCD_MAX_REQUEST_BYTES
--grpc-keepalive-min-time
- 客户端在ping服务器之前应等待的最小持续时间间隔。
- 默认值:5s
- 环境变量:ETCD_GRPC_KEEPALIVE_MIN_TIME
--grpc-keepalive-interval
- 服务器到客户端ping的频率持续时间,以检查连接是否有效(0禁用)。
- 默认值:2h
- 环境变量:ETCD_GRPC_KEEPALIVE_INTERVAL
--grpc-keepalive-timeout
- 关闭无响应的连接之前的额外等待时间(0禁用)。
- 默认值:20s
- 环境变量:ETCD_GRPC_KEEPALIVE_TIMEOUT
集群参数
--initial-advertise-peer-urls
,--initial-cluster
,--initial-cluster-state
,和--initial-cluster-token
参数用于启动(静态启动,发现服务启动或者运行时重新配置)一个新成员,当重启已经存在的成员时将忽略。
前缀为--discovery
的参数在使用发现服务时需要被设置。
--initial-advertise-peer-urls
- 此成员的对等URL的列表,以通告到集群的其余部分。 这些地址用于在集群周围传送etcd数据。 所有集群成员必须至少有一个路由。 这些URL可以包含域名。
- 默认值:"http://localhost:2380"
- 环境变量:ETCD_INITIAL_ADVERTISE_PEER_URLS
- 示例:"http://example.com:2380, http://10.0.0.1:2380"
--initial-cluster
- 启动集群的初始化配置
- 默认值:"default=http://localhost:2380"
- 环境变量:ETCD_INITIAL_CLUSTER
- 关键是所提供的每个节点的
--name
参数的值。 默认值使用default
作为密钥,因为这是--name
参数的默认值。
--initial-cluster-state
- 初始群集状态(“新”或“现有”)。 对于在初始静态或DNS引导过程中存在的所有成员,将其设置为
new
。 如果此选项设置为existing
,则etcd将尝试加入现存集群。 如果设置了错误的值,etcd将尝试启动,但会安全地失败。 - 默认值:"new:
- 环境变量:ETCD_INITIAL_CLUSTER_STATE
--initial-cluster-token
- 引导期间etcd群集的初始集群令牌。
- 默认值:"etcd-cluster"
- 环境变量:ETCD_INITIAL_CLUSTER_TOKEN
--advertise-client-urls
- 此成员的客户端URL的列表,这些URL广播给集群的其余部分。 这些URL可以包含域名。
- 默认值:http://localhost:2379
- 环境变量:ETCD_ADVERTISE_CLIENT_URLS
- 示例:"http://example.com:2379, http://10.0.0.1:2379"
- 如果从集群成员中发布诸如http://localhost:2379之类的URL并使用etcd的代理功能,请小心。这将导致循环,因为代理将向其自身转发请求,直到其资源(内存,文件描述符)最终耗尽为止。
--discovery
- 发现URL用于引导启动集群
- 默认值:""
- 环境变量:ETCD_DISCOVERY
--discovery-srv
- 用于引导集群的DNS srv域。
- 默认值:""
- 环境变量:ETCD_DISCOVERY_SRV
--discovery-srv-name
- 使用DNS引导时查询的DNS srv名称的后缀。
- 默认值:""
- 环境变量:ETCD_DISCOVERY_SRV_NAME
--discovery-fallback
- 发现服务失败时的预期行为(“退出”或“代理”)。“代理”仅支持v2 API。
- 默认值: "proxy"
- 环境变量:ETCD_DISCOVERY_FALLBACK
--discovery-proxy
- HTTP代理,用于发现服务的流量。
- 默认值:""
- 环境变量:ETCD_DISCOVERY_PROXY
--strict-reconfig-check
- 拒绝可能导致quorum丢失的重新配置请求。
- 默认值:true
- 环境变量:ETCD_STRICT_RECONFIG_CHECK
--auto-compaction-retention
- mvcc密钥值存储的自动压缩保留时间(小时)。 0表示禁用自动压缩。
- 默认值:0
- 环境变量:ETCD_AUTO_COMPACTION_RETENTION
--auto-compaction-mode
- 解释“自动压缩保留”之一:“定期”,“修订”。 基于期限的保留的“定期”,如果未提供时间单位(例如“ 5m”),则默认为小时。 “修订”用于基于修订号的保留。
- 默认值:periodic
- 环境变量:ETCD_AUTO_COMPACTION_MODE
--enable-v2
- 接受etcd V2客户端请求
- 默认值:false
- 环境变量:ETCD_ENABLE_V2
代理参数
--proxy前缀标志将etcd配置为以代理模式运行。 “代理”仅支持v2 API。
--proxy
- 代理模式设置(”off","readonly"或者"on")
- 默认值:"off"
- 环境变量:ETCD_PROXY
--proxy-failure-wait
- 在重新考虑端点请求之前,端点将保持故障状态的时间(以毫秒为单位)。
- 默认值:5000
- 环境变量:ETCD_PROXY_FAILURE_WAIT
--proxy-refresh-interval
- 节点刷新间隔的时间(以毫秒为单位)。
- 默认值:30000
- 环境变量:ETCD_PROXY_REFRESH_INTERVAL
--proxy-dial-timeout
- 拨号超时的时间(以毫秒为单位),或0以禁用超时
- 默认值:1000
- 环境变量:ETCD_PROXY_DIAL_TIMEOUT
--proxy-write-timeout
- 写入超时的时间(以毫秒为单位)或禁用超时的时间为0。
- 默认值:5000
- 环境变量:ETCD_PROXY_WRITE_TIMEOUT
--proxy-read-timeout
- 读取超时的时间(以毫秒为单位),或者为0以禁用超时。
- 如果使用Watch,请勿更改此值,因为会使用较长的轮询请求。
- 默认值:0
- 环境变量:ETCD_PROXY_READ_TIMEOUT
安全参数
安全参数有助于构建一个安全的etcd集群
--ca-file
DEPRECATED
- 客户端服务器TLS CA文件的路径。
--ca-file ca.crt
可以替换为--trusted-ca-file ca.crt --client-cert-auth
,而etcd将执行相同的操作。 - 默认值:""
- 环境变量:ETCD_CA_FILE
--cert-file
- 客户端服务器TLS证书文件的路径
- 默认值:""
- 环境变量:ETCD_CERT_FILE
--key-file
- 客户端服务器TLS秘钥文件的路径
- 默认值:""
- 环境变量:ETCD_KEY_FILE
--client-cert-auth
- 开启客户端证书认证
- 默认值:false
- 环境变量:ETCD_CLIENT_CERT_AUTH
- CN 权限认证不支持gRPC-网关
--client-crl-file
- 客户端被撤销的TLS证书文件的路径
- 默认值:""
- 环境变量:ETCD_CLIENT_CERT_ALLOWED_HOSTNAME
--client-cert-allowed-hostname
- 允许客户端证书身份验证的TLS名称。
- 默认值:""
- 环境变量:ETCD_CLIENT_CERT_ALLOWED_HOSTNAME
--trusted-ca-file
- 客户端服务器受信任的TLS CA证书文件的路径
- 默认值:""
- 环境变量:ETCD_TRUSTED_CA_FILE
--auto-tls
- 客户端TLS使用自动生成的证书
- 默认值:false
- 环境变量:ETCD_AUTO_TLS
--peer-ca-file
已淘汰
- 节点TLS CA文件的路径.
--peer-ca-file
可以替换为--peer-trusted-ca-file ca.crt --peer-client-cert-auth
,而etcd将执行相同的操作。 - 默认值:”“
- 环境变量:ETCD_PEER_CA_FILE
--peer-cert-file
- 对等服务器TLS证书文件的路径。 这是对等节点通信证书,在服务器和客户端都可以使用。
- 默认值:""
- 环境变量:ETCD_PEER_CERT_FILE
--peer-key-file
- 对等服务器TLS秘钥文件的路径。 这是对等节点通信秘钥,在服务器和客户端都可以使用。
- 默认值:""
- 环境变量:ETCD_PEER_KEY_FILE
--peer-client-cert-auth
- 启动节点客户端证书认证
- 默认值:false
- 环境变量:ETCD_PEER_CLIENT_CERT_AUTH
--peer-crl-file
- 节点被撤销的TLS证书文件的路径
- 默认值:""
- 环境变量:ETCD_PEER_CRL_FILE
--peer-trusted-ca-file
- 节点受信任的TLS CA证书文件的路径
- 默认值:""
- 环境变量:ETCD_PEER_TRUSTED_CA_FILE
--peer-auto-tls
- 节点使用自动生成的证书
- 默认值:false
- 环境变量:ETCD_PEER_AUTO_TLS
--peer-cert-allowed-cn
- 允许使用CommonName进行对等身份验证。
- 默认值:""
- 环境变量:ETCD_PEER_CERT_ALLOWED_CN
--peer-cert-allowed-hostname
- 允许的TLS证书名称用于对等身份验证。
- 默认值:""
- 环境变量:ETCD_PEER_CERT_ALLOWED_HOSTNAME
--cipher-suites
- 以逗号分隔的服务器/客户端和对等方之间受支持的TLS密码套件列表。
- 默认值:""
- 环境变量:ETCD_CIPHER_SUITES
日志参数
--logger
v3.4可以使用,警告:--logger=capnslog
在v3.5被抛弃使用
- 指定“ zap”用于结构化日志记录或“ capnslog”。
- 默认值:capnslog
- 环境变量:ETCD_LOGGER
--log-outputs
- 指定“ stdout”或“ stderr”以跳过日志记录,即使在systemd或逗号分隔的输出目标列表下运行时也是如此。
- 默认值:defalut
- 环境变量:ETCD_LOG_OUTPUTS
default
在zap logger迁移期间对v3.4使用stderr
配置
--log-level
v3.4可以使用
- 配置日志等级,仅支持
debug,info,warn,error,panic,fatal
- 默认值:info
- 环境变量:ETCD_LOG_LEVEL
default
使用info
.
--debug
警告:在v3.5被抛弃使用
- 将所有子程序包的默认日志级别降为DEBUG。
- 默认值:false(所有的包使用INFO)
- 环境变量:ETCD_DEBUG
--log-package-levels
警告:在v3.5被抛弃使用
- 将各个etcd子软件包设置为特定的日志级别。 一个例子是
etcdserver = WARNING,security = DEBUG
- 默认值:""(所有的包使用INFO)
- 环境变量:ETCD_LOG_PACKAGE_LEVELS
风险参数
使用不安全标志时请小心,因为它将破坏共识协议提供的保证。 例如,如果群集中的其他成员仍然存在,可能会panic
。 使用这些标志时,请遵循说明。
--force-new-cluster
- 强制创建一个新的单成员群集。 它提交配置更改,以强制删除群集中的所有现有成员并添加自身,但是强烈建议不要这样做。 请查看灾难恢复文档以了解首选的v3恢复过程。
- 默认值:false
- 环境变量:ETCD_FORCE_NEW_CLUSTER
杂项参数
--version
- 打印版本并退出
- 默认值:false
--config-file
- 从文件加载服务器配置。 请注意,如果提供了配置文件,则其他命令行标志和环境变量将被忽略。
- 默认值:""
- 示例:配置文件示例
- 环境变量:ETCD_CONFIG_FILE
分析参数
--enable-pprof
- 通过HTTP服务器启用运行时分析数据。地址位于客户端
URL+“/debug/pprof/”
- 默认值:false
- 环境变量:ETCD_ENABLE_PPROF
--metrics
- 设置导出指标的详细程度,specify 'extensive' to include server side grpc histogram metrics.
- 默认值:basic
- 环境变量:ETCD_METRICS
--listen-metrics-urls
- 可以响应
/metrics
和/health
端点的其他URL列表 - 默认值:""
- 环境变量:ETCD_LISTEN_METRICS_URLS
权限参数
--auth-token
- 指定令牌类型和特定于令牌的选项,特别是对于JWT,格式为
type,var1=val1,var2=val2,...
,可能的类型是simple
或者jwt
.对于具体的签名方法jwt可能的变量为sign-method
(可能的值为'ES256', 'ES384', 'ES512', 'HS256', 'HS384', 'HS512', 'RS256', 'RS384', 'RS512', 'PS256', 'PS384','PS512'
) - 对于非对称算法(“ RS”,“ PS”,“ ES”),公钥是可选的,因为私钥包含足够的信息来签名和验证令牌。
pub-key
用于指定用于验证jwt的公钥的路径,priv-key
用于指定用于对jwt进行签名的私钥的路径,ttl
用于指定jwt令牌的TTL。 - JWT的示例选项:
-auth-token jwt,pub-key=app.rsa.pub,privkey=app.rsasign-method = RS512,ttl = 10m
- 默认值:"simple"
- 环境变量:ETCD_AUTH_TOKEN
--bcrypt-cost
- 指定用于哈希认证密码的bcrypt算法的成本/强度。 有效值在4到31之间。
- 默认值:10
- 环境变量:(不支持)
实验参数
--experimental-corrupt-check-time
- 群集损坏检查通过之间的时间间隔
- 默认值:0s
- 环境变量:ETCD_EXPERIMENTAL_CORRUPT_CHECK_TIME
--experimental-compaction-batch-limit
- 设置每个压缩批处理中删除的最大修订。
- 默认值:1000
- 环境变量:ETCD_EXPERIMENTAL_COMPACTION_BATCH_LIMIT
--experimental-peer-skip-client-san-verification
- 跳过客户端证书中对等连接的SAN字段验证。 这可能是有帮助的,例如 如果群集成员在NAT后面的不同网络中运行。在这种情况下,请确保使用基于私有证书颁发机构的对等证书.
--peer-cert-file, --peer-key-file, --peer-trusted-ca-file
- 默认值:false
- 环境变量:ETCD_EXPERIMENTAL_PEER_SKIP_CLIENT_SAN_VERIFICATION
ETCD:配置参数的更多相关文章
- etcd配置参数详解
针对ETCD版本 3.2.17 --name 节点名称 default: "default" env variable: ETCD_NAME 这个值和--initial-clust ...
- [转载]fullPage.js中文api 配置参数~
fullPage.js中文api 配置参数 选项 类型 默认值 说明 verticalCentered 字符串 true 内容是否垂直居中 resize 布尔值 false 字体是否随着窗口缩放而缩放 ...
- kafka配置参数
Kafka为broker,producer和consumer提供了很多的配置参数. 了解并理解这些配置参数对于我们使用kafka是非常重要的.本文列出了一些重要的配置参数. 官方的文档 Configu ...
- MySQL Cluster 7.3.5 集群配置参数优化(优化篇)
按照前面的教程:MySQL Cluster 7.3.5 集群配置实例(入门篇),可快速搭建起基础版的MySQL Cluster集群,但是在生成环境中,还是有很多问题的,即配置参数需要优化下, 当前生产 ...
- mha配置参数详解
mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...
- 微信公众号网页开发-jssdk config配置参数生成(Java版)
一.配置参数 参考官方文档:http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&la ...
- 项目中Zookeeper配置参数笔记
ZooKeeper是以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxo ...
- Hadoop2.6.0配置参数查看小工具
前言 使用Hadoop进行离线分析或者数据挖掘的工程师,经常会需要对Hadoop集群或者mapreduce作业进行性能调优.也许你知道通过浏览器访问http://master:18088/conf来查 ...
- struts2学习笔记之四:多配置文件支持和常用配置参数
struts2支持可以按照不同模块分类的方式拆分配置文件,支持多人分工合作,各自维护自己的配置文件,但是所有配置文件中包名和action的名称不能重复 struts2的配置文件方式有两种,stru ...
随机推荐
- 为什么使用HTTP2?
最近我们公司的官网由原来的http1.1已升级到http2,而我们前端开发对http2还是一片懵懂,更不知道为何换成了这个,故此补充了下http2的相关知识. http1.1相比于http1.0有哪些 ...
- cmake常用命令总结
最近研究了下cmake,总结了一些常用命令,方便以后快速查找. project(projectname [CXX] [C] [Java]): 设置工程名. set(VAR [VALUE] [CACHE ...
- C#中使用Path、Directory、Split、Substring实现对文件路径和文件名的常用操作实例
场景 现在有一个文件路径 E:\\BTSData\\2019-11\\admin_20180918_1_1_2 需要获取最后的文件名admin_20180918_1_1_2 需要获取文件的上层目录20 ...
- 简单介绍托管执行和 CLI
目录 CIL 和 ILDASM 查看 myApp.dll 的 CIL 输出 使用 ILSpy 查看 myApp.dll 反编译后的代码 处理器不能直接解释程序集.程序集用的是另一种语言,即公共中间语言 ...
- springmvc: No converter found for return value of type
刚开始学习springmvc的童鞋,相信很多都需要过这种情况,报错信息如下 org.springframework.http.converter.HttpMessageNotWritableExcep ...
- redhat 常用命令记录
开机设置网络信息: vim /etc/rc.local 然后在里面输入设置信息 ifconfig eth0:0 192.168.127.130 netmask 255.255.255.0 up i ...
- threejs 限制物件只能在指定平面上拖拽
threejs提供有 DragController.js的例子来辅助拖拽 该例子可以在基于当前屏幕的x和y轴上拖拽物体,但是它不能影响z轴. 查看代码,可以在touchStart\mousedown下 ...
- ElasticSearch 安装, 带视频
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并 ...
- JavaScript实例:运动的小球
本篇博文通过制作一个小球运动动画的实例,来学习在HTML5的画布上实现动画制作的方法,同时理解面向对象程序设计的基本思想. 1.绘制小球 先在HTML页面中设置一个画布. <canvas id= ...
- 【2019的idea插件jreber使用】
前言 前面的idea安装说明已经可以完全使用了,没有安装的2019版idea的小伙伴可以去参考我上面的博客:https://www.cnblogs.com/liwangwang/p/11348434. ...