Master 配置

配置说明

CubeFS 使用 JSON 作为配置文件的格式.

配置项类型描述必需默认值
rolestring进程的角色,值只能是 master
ipstring主机ip
listenstringhttp服务监听的端口号
profstringgolang pprof 端口号
idstring区分不同的master节点
peersstringraft复制组成员信息
logDirstring日志文件存储目录
logLevelstring日志级别error
retainLogsstring保留多少条raft日志.
walDirstringraft wal日志存储目录.
storeDirstringRocksDB数据存储目录.此目录必须存在,如果目录不存在,无法启动服务
clusterNamestring集群名字
ebsAddrstring纠删码子系统的地址,使用纠删码子系统时需配置
exporterPortintprometheus获取监控数据端口
consulAddrstringconsul注册地址,供prometheus exporter使用
metaNodeReservedMemstring元数据节点预留内存大小,单位:字节1073741824
heartbeatPortstringraft心跳通信端口5901
replicaPortstringraft数据传输端口5902
nodeSetCapstringNodeSet的容量18
missingDataPartitionIntervalstring当此时间段内没有收到副本的心跳,该副本被认为已丢失,单位:s24h
dataPartitionTimeOutSecstring当此时间段内没有收到副本的心跳,该副本被认为非存活,单位:s10min
numberOfDataPartitionsToLoadstring一次最多检查多少数据分片40
secondsToFreeDataPartitionAfterLoadstring在多少秒之后开始释放由加载数据分片任务占用的内存300
tickIntervalstring检查心跳和选举超时的计时器间隔,单位:ms500
electionTickstring在计时器重置多少次时,选举超时5
bindIpbool是否仅在主机ip上监听连接false
faultDomainbool是否启用故障域false
faultDomainBuildAsPossiblebool若可用的故障域数量少于预期的故障域数量,是否仍尽可能地去构建nodeSetGroupfalse
faultDomainGrpBatchCntstring可用的故障域数量3
dpNoLeaderReportIntervalSecstring数据分片没有leader时,多久上报一次,单位:s60
mpNoLeaderReportIntervalSecstring元数据分片没有leader时,多久上报一次,单位:s60
maxQuotaNumPerVolstring单个卷最大的配额数100
volForceDeletionbool非空的卷是否可以删除true
volDeletionDentryThresholdint如果非空的卷不可以直接删除, 该参数定义了一个阈值,只有一个卷的dentry个数小于等于该阈值时才可以被删除0
enableLogPanicHookbool(实验性) Hook panic 函数以便在执行panic之前使日志落盘Nofalse
enableDirectDeleteVolbool用于控制是否直接删除卷,true 将会直接删除,false 延迟删除Notrue

配置示例

{
 "role": "master",
 "id":"1",
 "ip": "127.0.0.1",
 "listen": "17010",
 "prof":"17020",
 "peers": "1:127.0.0.1:17010,2:127.0.0.2:17010,3:127.0.0.3:17010",
 "retainLogs":"20000",
 "logDir": "/cfs/master/log",
 "logLevel":"info",
 "walDir":"/cfs/master/data/wal",
 "storeDir":"/cfs/master/data/store",
 "exporterPort": 9500,
 "consulAddr": "http://consul.prometheus-cfs.local",
 "clusterName":"cubefs01",
 "metaNodeReservedMem": "1073741824"
}
在github上编辑