资源管理节点

Master负责管理ChubaoFS整个集群,主要存储5种元数据,包括:数据节点、元数据节点、卷、数据分片、元数据分片。所有的元数据都保存在master的内存中,并且持久化到RocksDB。 多个Master之间通过raft协议保证集群元数据的一致性。注意:master的实例最少需要3个

系统特性

  • 多租户,资源隔离
  • 多个卷共享数据节点和元数据节点,每个卷独享各自的数据分片和元数据分片
  • 与数据节点和元数据节点即有同步交互,也有异步交互,交互方式与任务类型相关。

配置参数

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

属性
配置项类型描述是否必需默认值
role字符串进程的角色,值只能是 master 
ip字符串主机ip 
listen字符串http服务监听的端口号 
prof字符串golang pprof 端口号 
id字符串区分不同的master节点 
peers字符串raft复制组成员信息 
logDir字符串日志文件存储目录 
logLevel字符串日志级别error
retainLogs字符串保留多少条raft日志. 
walDir字符串raft wal日志存储目录. 
storeDir字符串RocksDB数据存储目录.此目录必须存在,如果目录不存在,无法启动服务 
clusterName字符串集群名字 
exporterPort整型prometheus获取监控数据端口 
consulAddr字符串consul注册地址,供prometheus exporter使用 
metaNodeReservedMem字符串元数据节点预留内存大小,单位:字节1073741824
heartbeatPort字符串raft心跳通信端口5901
replicaPort字符串raft数据传输端口5902
nodeSetCap字符串NodeSet的容量18
missingDataPartitionInterval字符串当此时间段内没有收到副本的心跳,该副本被认为已丢失,单位:s24h
dataPartitionTimeOutSec字符串当此时间段内没有收到副本的心跳,该副本被认为非存活,单位:s10min
numberOfDataPartitionsToLoad字符串一次最多检查多少数据分片40
secondsToFreeDataPartitionAfterLoad字符串在多少秒之后开始释放由加载数据分片任务占用的内存300
tickInterval字符串检查心跳和选举超时的计时器间隔,单位:ms500
electionTick字符串在计时器重置多少次时,选举超时5

Example:

  1. {
  2. "role": "master",
  3. "id":"1",
  4. "ip": "10.196.59.198",
  5. "listen": "17010",
  6. "prof":"17020",
  7. "peers": "1:10.196.59.198:17010,2:10.196.59.199:17010,3:10.196.59.200:17010",
  8. "retainLogs":"20000",
  9. "logDir": "/cfs/master/log",
  10. "logLevel":"info",
  11. "walDir":"/cfs/master/data/wal",
  12. "storeDir":"/cfs/master/data/store",
  13. "exporterPort": 9500,
  14. "consulAddr": "http://consul.prometheus-cfs.local",
  15. "clusterName":"chubaofs01",
  16. "metaNodeReservedMem": "1073741824"
  17. }

启动服务

  1. nohup ./cfs-server -c master.json > nohup.out &