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.
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 | |
zoneName | string | Specified zone. default by default. |
No | |
totalMem | string | Max memory metadata used. The value needs to be higher than the value of metaNodeReservedMem in the master configuration. Unit: byte | Yes | |
deleteBatchCount | int64 | when deleting inodes, how many are deleted at a time ,500 by default | No |
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;