ZBLOG

etcd 配置文件详解

etcd 是一个分布式键值存储系统,用于共享配置和服务发现等任务。它使用简单的 HTTP API 和基于 RESTful 的数据模型,可以通过多种语言进行访问。

在启动 etcd 时,需要指定一个配置文件。本文将对 etcd 配置文件中常见的几个参数进行详解。

参数说明

name

  • 默认值:default
  • 描述:该节点的名称,在集群中必须唯一。如果不指定,则默认为 default。

data-dir

  • 默认值:/var/lib/etcd
  • 描述:保存 etcd 数据的目录路径。在这个目录下会生成多个文件和子目录来保存节点信息、快照和日志等数据。

listen-peer-urls

  • 默认值:http://localhost:2380
  • 描述:监听同伴(peer)节点连接的 URL 列表。当新节点加入或者已有节点断开连接时,都会通过这些 URL 进行通信。例如:
listen-peer-urls: http://192.168.1.101:2380,http://192.168.1.102:2380,http://192.168.1.103:2380

表示该节点监听三个 IP 地址上的 2380 端口,以便与其他同伴节点进行通信。

listen-client-urls

  • 默认值:http://localhost:2379
  • 描述:监听客户端连接的 URL 列表。当用户通过 etcdctl 或者 API 发起请求时,就会使用这些 URL 进行通信。例如:
listen-client-urls: http://192.168.1.101:2379,http://192.168.1.102:2379,http://192.168.1.103:2379

表示该节点监听三个 IP 地址上的 2379 端口,以便接受客户端请求。

initial-advertise-peer-urls

  • 默认值:同 listen-peer-urls
  • 描述:告诉其他同伴节点自己的地址,用于新节点加入时进行发现。例如:
initial-advertise-peer-urls: http://192.168.1.101:2380

表示该节点在加入集群时,向其他同伴节点发送的地址为 http://192.168.1.101:2380。

  • 默认值:同 listen-client-urls
  • 描述:告诉客户端自己的地址,以便它们能够正确地连接到该节点。例如:
advertise-client-urls: http://192.168.1.101:2379

表示该节点对外暴露的客户端地址为 http://192.168.1.101:2379。

initial-cluster-token

  • 默认值:etcd-cluster
  • 描述:用于标识一个 etcd 集群,在多个集群同时运行时必须不同。例如:
initial-cluster-token: my-etcd-cluster

表示当前集群的 token 为 my-etcd-cluster。

initial-cluster

  • 默认值:无
  • 描述:用于指定初始的同伴节点列表。例如:
initial-cluster: node1=http://192.168.1.101:2380,node2=http://192.168.1.102:2380,node3=http://192.168.1.103:2380

表示当前集群中有三个节点,它们的名称分别为 node1、node2 和 node3,地址分别为 http://192.168.1.101:2380、http://192.168.1.102:2380http://192.168.1.103:2380。

initial-cluster-state

  • 默认值:new
  • 描述:用于标识当前节点在集群中的状态。当该值为 new 时,表示该节点是新加入的;当该值为 existing 时,表示该节点已经存在于集群中。例如:
initial-cluster-state: existing

表示当前节点已经存在于集群中。

示例

下面是一个完整的 etcd 配置文件示例:

name: node1
data-dir: /var/lib/etcd/data
listen-peer-urls: http://192.168.1.101:2380,http://192.168.1.102:2380,http://192.168.1.103:2380
listen-client-urls: http://192.168.1.101:2379,http://127.:2379
advertise-client-urls: http://192.:2379
initial-advertise-peer-urls: http://19.:2380
initial-cluster-token: my-etcd-cluster
initial-cluster-state: existing 
initial-cluster:
  node1=http://192.168.1.101:2380
  node2=http://192.168.1.102:2380
  node3=http://192.168.1.103:2380

该配置文件中,node1 是当前节点的名称,data-dir 指定了 etcd 数据存储的目录。listen-peer-urls 和 listen-client-urls 分别指定了同伴和客户端连接使用的 URL 列表。

initial-advertise-peer-urls 和 advertise-client-urls 分别告诉其他同伴节点和客户端自己的地址。initial-cluster-token 表示当前集群的 token,而 initial-cluster-state 表示当前节点在集群中的状态。

initial-cluster 则是一个键值对列表,用于指定初始的同伴节点列表。每个键值对由节点名称和监听地址组成。在这个例子中,该节点已经存在于集群中,所以 initial-cluster-state 的值为 existing。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=4078

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?