DataNode 配置

配置说明

关键字参数类型描述必需
rolestringRole 必须配置为 “datanode”是
listenstring数据节点作为服务端启动 TCP 监听的端口是
localIPstring数据节点作为服务端选用的 IP否
profstring数据节点提供 HTTP 接口所用的端口是
logDirstring调测日志存放的路径是
logLevelstring调测日志的级别。默认是error否
raftHeartbeatstringRAFT 发送节点间心跳消息所用的端口是
raftReplicastringRAFT 发送日志消息所用的端口是
raftDirstringRAFT 调测日志存放的路径。默认在二进制文件启动路径否
consulAddrstring监控系统的地址否
exporterPortstring监控系统的端口否
masterAddrstring slice集群管理器的地址是
localIPstring本机 ip 地址,如果不填写该选项,则使用和 master 通信的ip地址否
zoneNamestring指定区域,默认分配至 default 区域否
diskReadIoccint限制单盘并发读操作,小于等于0表示不限制否
diskReadFlowint限制单盘读流量,小于等于0表示不限制否
diskWriteIoccint限制单盘并发写操作,小于等于0表示不限制否
diskWriteFlowint限制单盘写流量,小于等于0表示不限制否
disksstring slice格式:磁盘挂载路径:预留空间 ,预留空间配置范围[20G,50G]是
diskCurrentLoadDpLimitint一个磁盘上并发加载的data partition的最大数量否
diskCurrentStopDpLimitint一个磁盘上并发停止的data partition的最大数量否
enableLogPanicHookbool(实验性) Hook panic 函数以便在执行panic之前使日志落盘否
diskAsyncQosEnablebool异步IO限制开关否
diskAsyncReadFlowint限制单盘异步读流量,小于等于0表示不限制否
diskAsyncReadIoccint限制单盘异步读并发,小于等于0表示不限制否
diskAsyncWriteFlowint限制单盘异步写流量,小于等于0表示不限制否
diskAsyncWriteIoccint限制单盘异步写并发,小于等于0表示不限制否
diskDeleteIoccint限制单盘删除操作并发,小于等于0表示不限制否
diskDeleteIopsint限制单盘删除操作IOPS,小于等于0表示不限制否

配置示例

{
     "role": "datanode",
     "listen": "17310",
     "prof": "17320",
     "logDir": "/cfs/datanode/log",
     "logLevel": "info",
     "raftHeartbeat": "17330",
     "raftReplica": "17340",
     "raftDir": "/cfs/datanode/log",
     "consulAddr": "http://consul.prometheus-cfs.local",
     "exporterPort": 9502,
     "masterAddr": [
         "10.196.59.198:17010",
         "10.196.59.199:17010",
         "10.196.59.200:17010"
     ],
     "diskReadIocc": 0,
     "diskReadFlow": 0,
     "diskWriteIocc": 0,
     "diskWriteFlow": 0,
     "diskAsyncQosEnable": true,
     "diskAsyncReadFlow": 0,
     "diskAsyncReadIocc": 0,
     "diskAsyncWriteFlow": 0,
     "diskAsyncWriteIocc": 0,
     "diskDeleteIocc": 0,
     "diskDeleteIops": 0,
     "disks": [
         "/data0:10737418240",
         "/data1:10737418240"
     ]
}

注意事项

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