Meta Subsystem

Metanode is the manager of meta partitions and replicated by MultiRaft. Each metanode manages various of partitions. Each partition covers an inode range, and maintains two in-memory btrees: inode btree and dentry btree.

At lease 3 meta nodes are required in respect to high availability.

Properties
Key Type Description Mandatory  
role string Role of process and must be set to metanode Yes  
listen string Listen and accept port of the server Yes  
prof string Pprof port Yes  
localIP string IP of network to be choose No. If not specified, the ip address used to communicate with the master is used.  
logLevel string Level operation for logging. Default is error No  
metadataDir string MetaNode store snapshot directory Yes  
logDir string Log directory Yes  
raftDir string Raft wal directory Yes  
raftHeartbeatPort string Raft heartbeat port Yes  
raftReplicaPort string Raft replicate port Yes  
consulAddr string Addresses of monitor system No  
exporterPort string Port for monitor system No  
masterAddr string Addresses of master server Yes  
totalMem string Max memory metadata used. The value needs to be higher than the value of metaNodeReservedMem in the master configuration. Unit: byte Yes  

Example:

{
     "role": "metanode",
     "listen": "17210",
     "prof": "17220",
     "logLevel": "debug",
     "metadataDir": "/cfs/metanode/data/meta",
     "logDir": "/cfs/metanode/log",
     "raftDir": "/cfs/metanode/data/raft",
     "raftHeartbeatPort": "17230",
     "raftReplicaPort": "17240",
     "consulAddr": "http://consul.prometheus-cfs.local",
     "exporterPort": 9501,
     "totalMem":  "8589934592",
     "masterAddr": [
         "10.196.59.198:17010",
         "10.196.59.199:17010",
         "10.196.59.200:17010"
     ]
 }

Notice

  • listen, raftHeartbeatPort, raftReplicaPort can’t be modified after boot startup first time;
  • Above config would be stored under directory raftDir in constcfg file. If need modified forcely,you must delete this file manually;
  • These configuration items associated with master’s metanode infomation . If they have been modified, master would’t be found old metanode;