etcd配置文件详解
一 示例yml配置文件
# This is the configuration file for the etcd server. # Human-readable name for this member.
name: 'default'
# Path to the data directory.
data-dir: # Path to the dedicated wal directory.
wal-dir: # Number of committed transactions to trigger a snapshot to disk.
snapshot-count: 10000 # Time (in milliseconds) of a heartbeat interval.
heartbeat-interval: 100 # Time (in milliseconds) for an election to timeout.
election-timeout: 1000 # Raise alarms when backend size exceeds the given quota. 0 means use the
# default quota.
quota-backend-bytes: 0 # List of comma separated URLs to listen on for peer traffic.
listen-peer-urls: http://localhost:2380 # List of comma separated URLs to listen on for client traffic.
listen-client-urls: http://localhost:2379 # Maximum number of snapshot files to retain (0 is unlimited).
max-snapshots: 5 # Maximum number of wal files to retain (0 is unlimited).
max-wals: 5 # Comma-separated white list of origins for CORS (cross-origin resource sharing).
cors: # List of this member's peer URLs to advertise to the rest of the cluster.
# The URLs needed to be a comma-separated list.
initial-advertise-peer-urls: http://localhost:2380 # List of this member's client URLs to advertise to the public.
# The URLs needed to be a comma-separated list.
advertise-client-urls: http://localhost:2379 # Discovery URL used to bootstrap the cluster.
discovery: # Valid values include 'exit', 'proxy'
discovery-fallback: 'proxy' # HTTP proxy to use for traffic to discovery service.
discovery-proxy: # DNS domain used to bootstrap initial cluster.
discovery-srv: # Initial cluster configuration for bootstrapping.
initial-cluster: # Initial cluster token for the etcd cluster during bootstrap.
initial-cluster-token: 'etcd-cluster' # Initial cluster state ('new' or 'existing').
initial-cluster-state: 'new' # Reject reconfiguration requests that would cause quorum loss.
strict-reconfig-check: false # Accept etcd V2 client requests
enable-v2: true # Enable runtime profiling data via HTTP server
enable-pprof: true # Valid values include 'on', 'readonly', 'off'
proxy: 'off' # Time (in milliseconds) an endpoint will be held in a failed state.
proxy-failure-wait: 5000 # Time (in milliseconds) of the endpoints refresh interval.
proxy-refresh-interval: 30000 # Time (in milliseconds) for a dial to timeout.
proxy-dial-timeout: 1000 # Time (in milliseconds) for a write to timeout.
proxy-write-timeout: 5000 # Time (in milliseconds) for a read to timeout.
proxy-read-timeout: 0 client-transport-security:
# Path to the client server TLS cert file.
cert-file: # Path to the client server TLS key file.
key-file: # Enable client cert authentication.
client-cert-auth: false # Path to the client server TLS trusted CA cert file.
trusted-ca-file: # Client TLS using generated certificates
auto-tls: false peer-transport-security:
# Path to the peer server TLS cert file.
cert-file: # Path to the peer server TLS key file.
key-file: # Enable peer client cert authentication.
client-cert-auth: false # Path to the peer server TLS trusted CA cert file.
trusted-ca-file: # Peer TLS using generated certificates.
auto-tls: false # Enable debug-level logging for etcd.
debug: false logger: zap # Specify 'stdout' or 'stderr' to skip journald logging even when running under systemd.
log-outputs: [stderr] # Force to create a new one member cluster.
force-new-cluster: false auto-compaction-mode: periodic
auto-compaction-retention: "1"
ETCD的名称
ETCD_NAME=ops-cuidehua001
#ETCD存储目录
ETCD_DATA_DIR=/usr/local/etcd/data
#本机IP地址
LOCAL_IP=10.59.87.121
#初始化名称
INITIAL_CLUSTER_TOKEN=etcd_cluster_cuidehua
#初始化群集列表
INITIAL_CLUSTER="ops-cuizhiliang001=http://10.59.87.121:2380,etcd-node-002=http://10.59.87.11:2380"
#初始化状态
INITIAL_CLUSTER_STATE=new
二 配置项解析
2.1 成员相关标识
--name
含义:此成员的名称。
默认值:default
环境变量:ETCD_NAME
作用:此配置值作为此节点在--initial-cluster标志中列出的条目(例如,default=http://localhost:2380)引用。若使用静态引导,则需要匹配标志中使用的密钥。使用发现时,每个成员必须具有唯一的名称。建议使用Hostname或者machine-id。
注意:使用发现时,每个成员必须具有唯一的名称。
--data-dir
含义:服务运行数据保存的路径。
默认值:${name}.etcd
环境变量:ETCD_DATA_DIR
作用:设置数据保存的目录。
--wal-dir
含义:专用wal目录的路径。
默认值:--data-dir的路径下
环境变量:ETCD_WAL_DIR
作用:独立设置wal目录,etcd会将WAL文件写入--wal-dir而不是--data-dir。独立的wal路径,有助于避免日志记录和其他IO操作之间的竞争。
--snapshot-count
含义:触发快照到磁盘的已提交事务数。
默认值:100000
环境变量:ETCD_SNAPSHOT_COUNT
作用:指定有多少事务(transaction)被提交时,触发截取快照保存到磁盘。
--heartbeat-interval
含义:心跳间隔的时间(以毫秒为单位)
默认值:100
环境变量:ETCD_HEARTBEAT_INTERVAL
作用:leader 多久发送一次心跳到 followers。
--election-timeout
含义:选举超时的时间(以毫秒为单位)
默认值:1000
环境变量:ETCD_ELECTION_TIMEOUT
作用:重新投票的超时时间,如果 follow 在该时间间隔没有收到心跳包,会触发重新投票,默认为 1000 ms。
--listen-peer-urls
含义:和成员之间通信的地址。
默认值:http://localhost:2380
环境变量:ETCD_LISTEN_PEER_URLS
作用:用于监听其他etcd member的url
提示:域名为无效值,如http://example.com:2380为错误配置。
--listen-client-urls
含义:对外提供服务的地址
默认值:http://localhost:2379
环境变量:ETCD_LISTEN_CLIENT_URLS
作用:对外提供服务的地址。
提示:域名为无效值,如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-backend-bytes
含义:当后端大小超过给定配额时(0默认为低空间配额),引发警报。
默认值:0
环境变量:ETCD_QUOTA_BACKEND_BYTES
--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
2.2 集群相关标识
提示:--initial-advertise-peer-urls, --initial-cluster, --initial-cluster-state, and --initial-cluster-token标识用于引导一个新成员,当重启一个已经存在的成员时将忽略。
--initial-advertise-peer-urls
含义:该节点成员对等URL地址,且会通告群集的其余成员节点。
默认值:http://localhost:2380
环境变量:ETCD_INITIAL_ADVERTISE_PEER_URLS
作用:
--initial-cluster
含义:集群中所有节点的信息。
默认值:default=http://localhost:2380
环境变量:ETCD_INITIAL_CLUSTER
作用:
注意:此处default为节点的--name指定的名字;localhost:2380为--initial-advertise-peer-urls指定的值。
--initial-cluster-state
含义:初始集群状态
默认值:new
环境变量:ETCD_INITIAL_CLUSTER_STATE
作用:设置new为初始静态或DNS引导期间出现的所有成员。如果将此选项设置为existing,则etcd将尝试加入现有群集。
--initial-cluster-token
含义:创建集群的 token,这个值每个集群保持唯一。
默认值:etcd-cluster
环境变量:ETCD_INITIAL_CLUSTER_TOKEN
作用:此配置可使重新创建集群,即使配置和之前一样,也会再次生成新的集群和节点 uuid;否则会导致多个集群之间的冲突,造成未知的错误。
--advertise-client-urls
含义:此成员的客户端URL列表,用于通告群集的其余部分。这些URL可以包含域名。
默认值:http://localhost:2379
环境变量:ETCD_ADVERTISE_CLIENT_URLS
作用:对外公告的该节点客户端监听地址。
--discovery
含义:用于引导群集的发现URL。
默认值:
环境变量:ETCD_DISCOVERY
作用:
--discovery-srv
含义:DNS srv域用于引导群集。
默认值:
环境变量:ETCD_DISCOVERY_SRV
作用:
--discovery-srv-name
含义:使用DNS引导时查询的DNS srv名称的后缀。
默认值:
环境变量:ETCD_DISCOVERY_SRV_NAME
作用:
--discovery-fallback
含义:发现服务失败时的预期行为(“退出”或“代理”)。“proxy”仅支持v2 API。
默认值:proxy
环境变量:ETCD_DISCOVERY_FALLBACK
作用:
--discovery-proxy
含义:用于流量到发现服务的HTTP代理。
默认值:
环境变量:ETCD_DISCOVERY_PROXY
作用:
--strict-reconfig-check
含义:拒绝可能导致仲裁丢失的重新配置请求。
默认值:false
环境变量:ETCD_STRICT_RECONFIG_CHECK
作用:
--auto-compaction-retention
含义:在一个小时内为mvcc键值存储的自动压实保留。0表示禁用自动压缩。
默认值:0
环境变量:ETCD_AUTO_COMPACTION_RETENTION
作用:
--auto-compaction-mode
含义:说明--auto-compaction-retention配置的基于时间保留的三种模式:periodic, revision. periodic
默认值:periodic
环境变量:ETCD_AUTO_COMPACTION_MODE
作用:
--enable-v2
含义:接受etcd V2客户端请求
默认值:true
环境变量:ETCD_ENABLE_V2
作用:
2.3 代理相关标识
提示:--proxy配置etcd以在代理模式下运行,“proxy”仅支持v2 API。
--proxy
含义:代理模式设置,("off", "readonly" or "on")
默认值:off
环境变量:ETCD_PROXY
作用:
--proxy-failure-wait
含义:在重新考虑代理请求之前,endpoints 将处于失败状态的时间(以毫秒为单位)。
默认值:5000
环境变量:ETCD_PROXY_FAILURE_WAIT
作用:
--proxy-refresh-interval
含义:endpoints 刷新间隔的时间(以毫秒为单位)。
默认值: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以禁用超时。
默认值:0
环境变量:ETCD_PROXY_READ_TIMEOUT
作用:
2.4 安全相关标识
--ca-file
提示:已弃用,可以替换为--trusted-ca-file ca.crt、--client-cert-auth,etcd将执行相同的操作。
--cert-file
含义:客户端服务器TLS证书文件的路径。
默认值:
环境变量:ETCD_CERT_FILE
作用:
--key-file
含义:客户端服务器TLS密钥文件的路径。
默认值:
环境变量:ETCD_KEY_FILE
作用:
--client-cert-auth
含义:启用客户端证书验证。
默认值:false
环境变量:ETCD_CLIENT_CERT_AUTH
作用:
--client-crl-file
含义:客户端证书吊销列表文件的路径。
默认值:
环境变量:ETCD_CLIENT_CRL_FILE
作用:
--trusted-ca-file
含义:客户端服务器的路径TLS可信CA证书文件。
默认值:
环境变量:ETCD_TRUSTED_CA_FILE
作用:
--auto-tls
含义:客户端TLS使用生成的证书
默认值:false
环境变量:ETCD_AUTO_TLS
作用:
--peer-ca-file
提示:已弃用,可以替换为--peer-trusted-ca-file ca.crt --peer-client-cert-auth,etcd将执行相同的操作。
--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
含义:对等证书吊销列表文件的路径。
默认值:
环境变量:ETCD_PEER_CRL_FILE
作用:
--peer-trusted-ca-file
含义:对等服务器TLS可信CA文件的路径。
默认值:
环境变量:ETCD_PEER_TRUSTED_CA_FILE
作用:
--peer-auto-tls
含义:Peer TLS使用自动生成的证书
默认值:false
环境变量:ETCD_PEER_AUTO_TLS
作用:
--peer-cert-allowed-cn
含义:允许CommonName进行对等体认证。
默认值:none
环境变量:ETCD_PEER_CERT_ALLOWED_CN
作用:
2.5 日志相关标识
--logger
含义:为结构化日志记录指定'zap'或'capnslog'。
默认值:capnslog
环境变量:ETCD_LOGGER
作用:
--log-outputs
含义:指定'stdout'或'stderr'以跳过日志记录,即使在systemd或逗号分隔的输出目标列表下运行也是如此。
默认值:default
环境变量:ETCD_LOG_OUTPUT
作用:
--debug
含义:将所有子包的默认日志级别设置为DEBUG。
默认值:false(所有包的INFO)
环境变量:ETCD_DEBUG
作用:
--log-package-levels
含义:将单个etcd子包设置为特定的日志级别。一个例子是etcdserver=WARNING,security=DEBUG
默认值:(所有包的INFO)
环境变量:ETCD_LOG_PACKAGE_LEVELS
作用:
2.6 非安全相关标识
--force-new-cluster
含义:强制创建新的单成员群集。它提交配置更改,强制删除集群中的所有现有成员并添加自身。需要将其设置为还原备份。
默认值:false
环境变量:ETCD_FORCE_NEW_CLUSTER
作用:
2.7 配置文件相关标识
--enable-pprof
含义:通过HTTP服务器启用运行时分析数据。地址位于客户端URL +“/ debug / pprof /”
默认值:false
环境变量:
作用:
--metrics
含义:设置导出的指标的详细程度,指定“扩展”以包括直方图指标。
默认值:basic
环境变量:
作用:
--listen-metrics-urls
含义:要监听的其他URL列表将响应端点/metrics和/health端点
默认值:
环境变量:
作用:
2.8 其他相关标识
--version
含义:打印版本并退出。
默认值:false
环境变量:
作用:
--config-file
含义:从文件加载服务器配置。
默认值:
环境变量:
作用:从配置文件加载相关配置。
2.9 认证相关标识
--auth-token
略
--bcrypt-cost
含义:为散列身份验证密码指定bcrypt算法的成本/强度。有效值介于4和31之间。
默认值:10
环境变量:
作用:
etcd配置文件详解的更多相关文章
- 附001.etcd配置文件详解
一 示例yml配置文件 # This is the configuration file for the etcd server. # Human-readable name for this m ...
- quartz配置文件详解
quartz配置文件详解(转载) quartz学习总结: 一.关于job: 用Quartz的行话讲,作业是一个执行任务的简单Java类.任务可以是任何Java代码.只需你实现org.qu ...
- WebConfig配置文件详解
今天看到博客园一位朋友整理的一个WebConfig配置文件详解,觉得不错,转载一下: <?xml version="1.0"?> <!--注意: 除了手动编辑此文 ...
- tomcat配置文件详解
Tomcat系列之服务器的安装与配置以及各组件详解 tomcat 配置文件详解
- ubuntu nginx 安装以及配置文件详解
1.到nginx官网下载源码包.最好下载稳定版本,nginx官网http://www.nginx.org/ 2.安装nginx依赖包运行命令: sudo apt-get install libssl- ...
- Spring配置文件详解 – applicationContext.xml文件路径
Spring配置文件详解 – applicationContext.xml文件路径 Java编程 spring的配置文件applicationContext.xml的默 ...
- spring配置文件详解--真的蛮详细
spring配置文件详解--真的蛮详细 转自: http://book.51cto.com/art/201004/193743.htm 此处详细的为我们讲解了spring2.5的实现原理,感觉非常 ...
- net-snmp配置文件详解
net-snmp配置文件详解 net-snmp的配置文件是有一定的层次结构的,配置起来也很方便.网上找了很多资料,大概把这个配置文件的各个信息搞懂了一点.其实在net-snmp的EXAMPLE.con ...
- Rsyslog配置文件详解
Rsyslog配置文件详解https://my.oschina.net/0757/blog/198329 # Save boot messages also to boot.log 启动的相关信息lo ...
随机推荐
- 微服务开源生态报告 No.2
通常,我们都会通过在 GitHub 上订阅邮件列表,来了解社区动态.这一次,我们联合以上各开源项目的负责人,发布「微服务开源生态报告」,汇集各个开源项目近期的社区动态,帮助开发者们更高效的了解到各开源 ...
- Docker 学习笔记 2019-05-27
Docker 学习笔记 2019-05-27 可以很方便的打包应用. 使用 docker-compose 更方便. 每个发行版安装方式不一样,如果 centos 直接安装很可能会安装成旧版本. Lin ...
- js+canvas黑白棋
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- android学习——android 常见的错误 和 解决方法
1. Application does not specify an API level requirement! 解决方法:AndroidManifest.xml中 加入: <uses-sdk ...
- h5的canvas绘制方格(边框随即色)
文章地址 https://www.cnblogs.com/sandraryan/ 两个循环绘制 <body> <canvas id="cv" width=&quo ...
- 限制允许某些IP访问服务器
买了台阿里云服务器,部署了一些东西在上面,但是最近老是发现有异常登录,而且不仅仅是登录就完事了,还把服务器上一些重要的项目数据文件都给删除了,由于本人不是专业的运维人员,单位也没有运维人员,百度了一下 ...
- Python--day47--mysql执行计划
1,什么是mysql执行计划? 让mysql预估执行操作:在要执行的语句前面加explain,就不会真的执行sql语句,只是给出了要执行的数据的情况,如大约有多少条,查询类型.
- Python--day46--MySQL自定义函数
1,mysql自定义函数(mysql函数会降低查找速度,使用 了函数的行和列不能再用索引查找了,这样对性能要求高的需求就不能这样写) 函数调用 select f(参数1,参数2): 对函数进行调用:
- Ralasafe配置手册
Ralasafe访问控制(权限管理)中间件的配置工作非常少.因为项目发起人非常讨厌配置.因此,"己所不欲,勿施于人",Ralasafe的配置也非常少. Ralasafe配置工作只有 ...
- 关于IFRAME的onload事件
昨天遇到一个关于iframe的问题,比如a页面中嵌入了一个iframe称为a_iframe,如果直接在a_iframe的标签上直接加入属性的设置,onload=’’,这样才onload事件才是起作用的 ...