节点配置
安装包默认将参考配置装在了如下位置(安装时未设置--prefix的情况)
- /etc/consul
- /etc/nomad
使用多节点部署时,请注意更改 node_name
、data_dir
、各类地址和端口, 避免冲突。
默认的启动脚本(systemd)使用单节点配置。
- consul 全部配置 https://www.consul.io/docs/agent/options.html#configuration_files
- nomad(本体)全部配置 https://www.nomadproject.io/docs/configuration/
nomad 分为 server 和 client。一个nomad进程可以同时作为server和client,也可以只担任一个角色。 dtle 插件运行在 nomad client 中。
nomad 中 dtle 插件的配置
参考样例配置中这一段
plugin "dtle" {
config {
...
}
}
配置项 | 类型 | 默认值 | 强制要求 | 说明 |
---|---|---|---|---|
log_level | string | "INFO" | 否 | 日志级别(由于dtle plugin无法获取nomad日志级别,此处需额外设置) |
log_file | string | "/var/log/dtle/dtle.log" | 否 | 从4.22.09.0开始, dtle单独生成日志,不再和nomad合并。 每512MB进行rotate和压缩,生成文件形如dtle-2022-11-04T06-46-39.502.log.gz |
big_tx_max_jobs | int | 取决于启动时的可用内存 | 否 | 允许同时处理大事务的job数量。默认值:启动时可用内存/2G。该值至少为1。如有6G可用内存,则该值默认为3 |
nats_bind | string | "0.0.0.0:8193" | 否 | Nats (dtle使用的传输协议) 地址 |
nats_advertise | string | 127.0.0.1:8193 | 否 | Nats Advertise 地址, 其他节点使用此地址连接本节点。跨公网传输需要设成上层路由器地址并设置网络穿透 |
api_addr | string | "" (参考配置中开启) | 否 | 兼容层地址,可以在此地址使用dtle 2.x的HTTP API。参考值:"0.0.0.0:8190"。为空则关闭兼容层。 |
nomad_addr | string | "127.0.0.1:4646" | 否 | nomad 地址. 由于nomad插件API限制, dtle 无法自动获取该地址, 需要用户手动重复填写一遍. |
consul | string | "127.0.0.1:8500" | 否 | consul的地址, 同nomad本体配置中的. 应填写和最近nomad server关联的consul地址. dtle插件需要consul以储存任务信息 |
data_dir | string | "/var/lib/nomad" | 否 | 数据目录。目前用于存放binlog(job配置中BinlogRelay=true时) |
stats_collection_interval | int | 15 | 否 | 收集监控项的周期(秒) |
publish_metrics | bool | false | 否 | 是否输出监控项 |
rsa_private_key_path | string | "" | 否 | 指定rsa私钥文件的绝对路径,目前只在HTTP api中用于对mysql密码解码。(具体用法见dtle 3.x HTTP API 说明) |
cert_file_path | string | "" | 否 | 指定证书文件的绝对路径 |
key_file_path | string | "" | 否 | 指定私钥文件的绝对路径 |
关于 (Bind) Address 和 Advertise Address
- bind address为,需要是本地网卡配置的地址
- advertise addr为对外告知连接用的地址
- 对于跨网段的nomad集群,需要配置上层路由地址并在各级路由配置NAT(端口映射)
修改日志级别
从4.22.09.0开始,动态修改日志级别直接调用API即可生效(不需要事先修改配置文件或重启dtle)。
curl -XPOST http://127.0.0.1:8190/v2/log/level -d "dtle_log_level=INFO"
注:dtle后续重启时,仍然使用配置文件中的日志级别。