PD 配置参数
PD 可以通过命令行参数或环境变量配置。
--advertise-client-urls
- 用于外部访问 PD 的 URL 列表。
- 默认:
${client-urls}
- 在某些情况下,例如 Docker 或者 NAT 网络环境,客户端并不能通过 PD 自己监听的 client URLs 来访问到 PD,这时候,你就可以设置 advertise URLs 来让客户端访问。
- 例如,Docker 内部 IP 地址为
172.17.0.1
,而宿主机的 IP 地址为192.168.100.113
并且设置了端口映射-p 2379:2379
,那么可以设置为--advertise-client-urls="http://192.168.100.113:2379"
,客户端可以通过http://192.168.100.113:2379
来找到这个服务。
--advertise-peer-urls
- 用于其他 PD 节点访问某个 PD 节点的 URL 列表。
- 默认:
${peer-urls}
- 在某些情况下,例如 Docker 或者 NAT 网络环境,其他节点并不能通过 PD 自己监听的 peer URLs 来访问到 PD,这时候,你就可以设置 advertise URLs 来让其他节点访问。
- 例如,Docker 内部 IP 地址为
172.17.0.1
,而宿主机的 IP 地址为192.168.100.113
并且设置了端口映射-p 2380:2380
,那么可以设置为advertise-peer-urls="http://192.168.100.113:2380"
,其他 PD 节点可以通过http://192.168.100.113:2380
来找到这个服务。
--client-urls
- PD 监听的客户端 URL 列表。
- 默认:
http://127.0.0.1:2379
- 如果部署一个集群,
--client-urls
必须指定当前主机的 IP 地址,例如http://192.168.100.113:2379"
,如果是运行在 Docker 则需要指定为http://0.0.0.0:2379
。
--peer-urls
- PD 节点监听其他 PD 节点的 URL 列表。
- 默认:
http://127.0.0.1:2380
- 如果部署一个集群,
--peer-urls
必须指定当前主机的 IP 地址,例如http://192.168.100.113:2380
,如果是运行在 Docker 则需要指定为http://0.0.0.0:2380
。
--config
- 配置文件。
- 默认:""
- 如果你指定了配置文件,PD 会首先读取配置文件的配置。然后如果对应的配置在命令行参数里面也存在,PD 就会使用命令行参数的配置来覆盖配置文件里面的。
--data-dir
- PD 存储数据路径。
- 默认:
default.${name}
--initial-cluster
- 初始化 PD 集群配置。
- 默认:
"{name}=http://{advertise-peer-url}"
- 例如,如果 name 是 "pd", 并且
advertise-peer-urls
是http://192.168.100.113:2380
,那么initial-cluster
就是pd=http://192.168.100.113:2380
。 - 如果你需要启动三台 PD,那么
initial-cluster
可能就是pd1=http://192.168.100.113:2380, pd2=http://192.168.100.114:2380, pd3=192.168.100.115:2380
。
--join
- 动态加入 PD 集群。
- 默认:""
- 如果你想动态将一台 PD 加入集群,你可以使用
--join="${advertise-client-urls}"
,advertise-client-url
是当前集群里面任意 PD 的advertise-client-url
,你也可以使用多个 PD 的,需要用逗号分隔。
-L
- Log 级别。
- 默认:"info"
- 我们能选择 debug, info, warn, error 或者 fatal。
--log-file
- Log 文件。
- 默认:""
- 如果没设置这个参数,log 会默认输出到 "stderr",如果设置了,log 就会输出到对应的文件里面,在每天凌晨,log 会自动轮转使用一个新的文件,并且将以前的文件改名备份。
--log-rotate
- 是否开启日志切割。
- 默认:true
- 当值为 true 时,按照 PD 配置文件中
[log.file]
信息执行。
--name
- 当前 PD 的名字。
- 默认:"pd-${hostname}"
- 如果你需要启动多个 PD,一定要给 PD 使用不同的名字
--cacert
- CA 文件路径,用于开启 TLS。
- 默认:""
--cert
- 包含 X509 证书的 PEM 文件路径,用户开启 TLS。
- 默认:""
--key
- 包含 X509 key 的 PEM 文件路径,用于开启 TLS。
- 默认:""
--metrics-addr
- 指定 Prometheus Pushgateway 的地址。
- 默认:""
- 如果留空,则不开启 Prometheus Push。
--force-new-cluster
- 强制使用当前节点创建新的集群。
- 默认:false
- 仅用于在 PD 丢失多数副本的情况下恢复服务,可能会产生部分数据丢失。
-V
, --version
- 输出版本信息并退出。