Master 配置

配置说明

UDB-TO 使用 JSON 作为配置文件的格式.

配置项 类型 描述 必需 默认值
role string 进程的角色,值只能是 master
ip string 主机ip
listen string http服务监听的端口号
prof string golang pprof 端口号
id string 区分不同的master节点
peers string raft复制组成员信息
logDir string 日志文件存储目录
logLevel string 日志级别 error
retainLogs string 保留多少条raft日志.
walDir string raft wal日志存储目录.
storeDir string RocksDB数据存储目录.此目录必须存在,如果目录不存在,无法启动服务
clusterName string 集群名字
ebsAddr string 纠删码子系统的地址,使用纠删码子系统时需配置
exporterPort int prometheus获取监控数据端口
consulAddr string consul注册地址,供prometheus exporter使用
metaNodeReservedMem string 元数据节点预留内存大小,单位:字节 1073741824
heartbeatPort string raft心跳通信端口 5901
replicaPort string raft数据传输端口 5902
nodeSetCap string NodeSet的容量 18
missingDataPartitionInterval string 当此时间段内没有收到副本的心跳,该副本被认为已丢失,单位:s 24h
dataPartitionTimeOutSec string 当此时间段内没有收到副本的心跳,该副本被认为非存活,单位:s 10min
numberOfDataPartitionsToLoad string 一次最多检查多少数据分片 40
secondsToFreeDataPartitionAfterLoad string 在多少秒之后开始释放由加载数据分片任务占用的内存 300
tickInterval string 检查心跳和选举超时的计时器间隔,单位:ms 500
electionTick string 在计时器重置多少次时,选举超时 5
bindIp bool 是否仅在主机ip上监听连接 false
faultDomain bool 是否启用故障域 false
faultDomainBuildAsPossible bool 若可用的故障域数量少于预期的故障域数量,是否仍尽可能地去构建nodeSetGroup false
faultDomainGrpBatchCnt string 可用的故障域数量 3
dpNoLeaderReportIntervalSec string 数据分片没有leader时,多久上报一次,单位:s 60
mpNoLeaderReportIntervalSec string 元数据分片没有leader时,多久上报一次,单位:s 60
maxQuotaNumPerVol string 单个卷最大的配额数 100
volForceDeletion bool 非空的卷是否可以删除 true
volDeletionDentryThreshold int 如果非空的卷不可以直接删除, 该参数定义了一个阈值,只有一个卷的dentry个数小于等于该阈值时才可以被删除 0
enableLogPanicHook bool (实验性) Hook panic 函数以便在执行panic之前使日志落盘 No false
enableDirectDeleteVol bool 用于控制是否直接删除卷,true 将会直接删除,false 延迟删除 No true
raftPartitionCanUseDifferentPort bool 数据/元数据分区是否可以使用不同的raft heartbeatPort 和 replicatePort, 如果可以,我们可以在一台机器上部署多个datanode/metanode进程 false
allowMultipleReplicasOnSameMachine bool 数据分区/元数据分区的副本是否允许在同一台机器上 true
legacyDataMediaType int 数据节点磁盘类型,可选项为 1 ssd 或 2 hdd 0

配置示例

{
        "clusterName":  "udbto",
        "id":   "1",
        "role": "master",
        "ip":   "192.168.2.160",
        "listen":       "15010",
        "prof": "15020",
        "heartbeatPort":        "15130",
        "replicaPort":  "15140",
        "peers":        "1:192.168.2.160:15010,2:192.168.2.161:15010,3:192.168.2.185:15010",
        "retainLogs":   "2000",
        "consulAddr":   "http://192.168.2.160:8500",
        "ebsAddr":      "http://192.168.2.160:8500",
        "ebsServicePath":       "access",
        "exporterPort": 15150,
        "logLevel":     "error",
        "logDir":       "/data/udbto/master/log",
        "walDir":       "/data/udbto/master/data/wal",
        "storeDir":     "/data/udbto/master/data/store",
        "metaNodeReservedMem":  "1073741824",
        "legacyDataMediaType":  1
}