资源管理节点

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整型The prometheus exporter port
consulAddr字符串consul注册地址,供prometheus exporter使用
metaNodeReservedMem字符串如果metanode的内存小于这个值,metanode被置为只读状态

Example:

  1. {
  2. "role": "master",
  3. "id":"1",
  4. "ip": "192.168.31.173",
  5. "listen": "80",
  6. "prof":"10088",
  7. "peers": "1:192.168.31.173:80,2:192.168.31.141:80,3:192.168.30.200:80",
  8. "retainLogs":"20000",
  9. "logDir": "/export/Logs/master",
  10. "logLevel":"info",
  11. "walDir":"/export/Data/master/raft",
  12. "storeDir":"/export/Data/master/rocksdbstore",
  13. "exporterPort": 9510,
  14. "consulAddr": "http://consul.prometheus-cfs.local",
  15. "clusterName":"test",
  16. "metaNodeReservedMem": "134217728"
  17. }

启动服务

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