元数据节点

元数据节点是由多个元数据分片(meta partition)和基于multiRaft的对应个数的raft实例组成; 每个元数据分片(meta partition)都是一个inode范围,且包含两个内存BTrees: inode BTree 和dentry BTree。注意:MetaNode的实例最少需要3个

Properties
配置项 类型 描述 是否必需
role 字符串 进程角色: MetaNode
listen 字符串 监听和接受请求的端口
prof 字符串 调试和管理员API接口
logLevel 字符串 日志级别,默认: error
metadataDir 字符串 元数据快照存储目录
logDir 字符串 日志存储目录
raftDir 字符串 raft wal日志目录
raftHeartbeatPort 字符串 raft心跳通信端口
raftReplicaPort 字符串 raft数据传输端口
consulAddr 字符串 prometheus注册接口
exporterPort 字符串 prometheus获取监控数据端口
masterAddr 字符串 master服务地址
totalMem 字符串 最大可用内存,此值需高于master配置中metaNodeReservedMem的值,单位:字节
localIP 字符串 本机ip地址 否,如果不填写该选项,则使用和master通信的ip地址
zoneName 字符串 指定区域 否,默认分配至``default``区域
deleteBatchCount int64 一次性批量删除多少inode节点,默认``500``

样例:

{
     "role": "metanode",
     "listen": "17210",
     "prof": "17220",
     "logLevel": "debug",
     "localIP":"10.196.59.202",
     "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"
     ]
 }

启动服务

nohup ./cfs-server -c metanode.json > nohup.out &

注意事项

  • listen、raftHeartbeatPort、raftReplicaPort这三个配置选项在程序首次配置启动后,不能修改;
  • 相关的配置信息被记录在metadataDir目录下的constcfg文件中,如果需要强制修改,需要手动删除该文件;
  • 上述三个配置选项和MetaNode在master的注册信息有关。如果修改,将导致master无法定位到修改前的metanode信息;