mfs.conf
The configuration file /opt/mapr/conf/mfs.conf
specifies the following
parameters about the MapR-FS server on each node.
Parameters
Parameter |
Default Value |
Description |
---|---|---|
mfs.server.ip |
IP address of the FileServer. For example, 192.168.10.10. | |
mfs.server.port |
5660 | Port used for communication with the server |
mfs.cache.lru.sizes |
Version 4.0.1: Version 4.0.2 and later versions:
|
LRU cache configuration. See the section, Notes on LRU Cache Configuration, following this table. |
mfs.on.virtual.machine |
0 | Specifies whether MapR-FS is running on a virtual machine |
mfs.io.disk.timeout |
60 | Timeout, in seconds, after which a disk is considered failed and taken offline. This parameter can be increased to tolerate slow disks. |
mfs.max.disks |
48 | Maximum number of disks supported on a single node. |
mfs.max.logfile.size.in.mb |
1000MB | The maximum amount of disk space that the MFS logs can consume before
the oldest log file is deleted; based on the following calculation:
where
|
mfs.subnets.whitelist |
A list of subnets (up to 256 characters) that are allowed to make requests to the FileServer service and access data on the cluster. | |
mfs.disk.iothrottle.count |
100 | The maximum number of outstanding requests on disk. NOTE: You can disable
throttling by setting a high value. This is disabled if the value for
mfs.disk.is.ssd is 1 . |
|
20 |
The amount of time to wait before request is submitted to disk or sent over the network. Increasing the value will reduce the wait time and decreasing the value will increase the wait time. For example, setting the value to 40 will halve the wait time and setting the value to 10 will double the wait time. |
mfs.network.resynciothrottle.factor |
20 | Controls the amount of time to wait before sending a resync operation over the network. Increasing the value will reduce the wait time and decreasing the value will increase the wait time. For example, setting the value to 40 will halve the wait time and setting the value to 10 will double the wait time. |
mfs.ssd.trim.enabled |
0 |
Set this parameter to 1 to enable TRIM operations for SSD
devices.
NOTE: Enable TRIM only if it is recommended by the SSD vendor.
|
mfs.disk.is.ssd |
0 | Specifies whether (1 ) or not (0 ) the
drives are SSD. If 0 , the drives are assumed to be
rotations. The default value is 0 . If the value is
1 , the noop scheduler on the SSD is automatically
enabled and IO throttling is disabled. |
mfs.mem.debug.enabled |
0 | Specifies whether fileserver should (1) or should not (0) track all memory allocations. The default value is 0. If value is 1, you can determine the root cause for high memory allocation or determine the component consuming most memory. |
mfs.numrpcthreads |
2 | Specifies the number of RPC threads per MFS instance. The valid range of values is from 1 to 4. |
mfs.num.compress.threads |
1 | Reserved for internal use. |
mfs.max.aio.events |
5000 | Reserved for internal use. |
mfs.disable.periodic.flush |
0 | Reserved for internal use. |
mfs.ignore.container.delete |
0 | Reserved for internal use. |
mfs.ignore.readdir.pattern |
0 | Reserved for internal use. |
mfs.disable.IO.affinity |
0 | Reserved for internal use. |
mfs.deserialize.length |
8192 | Reserved for internal use. |
mfs.enable.nat |
0 | Reserved for internal use. |
mfs.bulk.writes.enabled |
0 | Reserved for internal use. |
Example
mfs.server.ip=192.168.10.10
mfs.server.port=5660
mfs.cache.lru.sizes=inode:3:meta:6:small:27:dir:15:db:20:val:3
mfs.on.virtual.machine=0
mfs.io.disk.timeout=60
mfs.max.disks=48
Notes on LRU Cache ConfigurationThe cache values are expressed as percentages, which vary based on the expected size of the data the node is required to cache. The goal is to achieve a state in which most of the required data comes directly from the cache. You may need to tune the cache percentages based on your cluster configuration and the workload on specific nodes. Non-default allocations tend to work better for nodes that run only CLDB and nodes that do not have CLDB but do have a heavy MapR-DB workload. Note the following recommendations.
- For CLDB-only nodes, increase the size of the cache for Dir LRU to 40%: change
dir:15
todir:40
A CLDB-only node is a fileserver node that hosts only the CLDB volumemapr.cldb.internal
(no user volume data is hosted on the node). Dir LRU is used to host B-tree pages.
- For non-CLDB nodes with no MapR-DB workload, optimize the cache to host as many file
pages as possible. Change the value of the parameter to:
inode:3:meta:6:small:27:dir:6
The remainder of the cache will be used to cache file data pages.
Note: You need to restart MFS in order for the change in
mfs.conf
to take effect.