Jumbo configuration (dfs.config)

The dfs.config configuration file provides configuration for the Jumbo Distributed Filesystem.

Contents

The ookii.jumbo.dfs element

The <ookii.jumbo.dfs> element provides configuration for Jumbo clients that need to connect to a filesystem, and for the Jumbo DFS NameServer and DataServers.

<ookii.jumbo.dfs>
</ookii.jumbo.dfs>

Child elements

ElementMin occursMax occurs
<fileSystem>01
<nameServer>01
<dataServer>01
<checksum>01

The ookii.jumbo.dfs/​fileSystem element

The <fileSystem> element provides information for clients on how to access the file system. For client configuration, this is the only element that needs to be specified.

<fileSystem
    url=xs:anyURI />

Attributes

AttributeUseDescription
urloptional A URL indicating how to connect to the file system. Jumbo DFS URLs take the form "jdfs://nameserver:port". If the URL uses the "file://" scheme, the DFS will not be used and path indicated by the URL will be the root of the file system from the point of view of the FileSystemClient class. You cannot start the Jumbo DFS unless this is a jdfs:// URL. The default value is "jdfs://localhost:9000".

The ookii.jumbo.dfs/​nameServer element

The <nameServer> element configures the Jumbo DFS NameServer.

<nameServer
    imageDirectory=xs:string
    blockSize=BinarySize
    replicationFactor=xs:int
    dataServerTimeout=xs:int
    dataServerFreeSpaceThreshold=BinarySize
    listenIPv4AndIPv6=xs:boolean />

Attributes

AttributeUseDescription
imageDirectoryrequired The local directory where the file system image and edit log are stored. This directory must be formatted using "NameServer.exe format" before use.
blockSizeoptional The default size of blocks for new files on the file system. Individual files can override this value. The default value is "64MB".
replicationFactoroptional The default number of replicas created of the blocks for new files on the file system. Individual files can override this value. The recommended value is 3, unless you have fewer than 3 data servers. The default value is "1".
dataServerTimeoutoptional The time in seconds after which a DataServer is considered dead if it hasn't sent a heartbeat. The default value is "300".
dataServerFreeSpaceThresholdoptional The minimum amount of free space for a DataServer to be eligable to receive new blocks. The default value is "1GB".
listenIPv4AndIPv6optional Indicates whether the NameServer's RPC service should listen on both IPv6 and IPv4 addresses. On Windows, it is required to explicitly listen on both addresses if both are supported; on Linux, listening on IPv6 will automatically listen on the corresponding IPv4 address, so attempting to manually bind to that address will fail. If this setting is not specified, it defaults to "true" on Windows and "false" on Unix (which is correct for Linux, but you may need to manually set it for other Unix variants like FreeBSD). If either IPv6 or IPv4 connectivity is not available on the system, this setting has no effect.

The ookii.jumbo.dfs/​dataServer element

The <dataServer> element configures the Jumbo DFS DataServers.

<dataServer
    blockStorageDirectory=xs:string
    port=xs:int
    statusUpdateInterval=xs:int
    writeBufferSize=BinarySize
    readBufferSize=BinarySize
    listenIPv4AndIPv6=xs:boolean />

Attributes

AttributeUseDescription
blockStorageDirectoryrequired The local directory where the DataServer stores block files.
portoptional The port on which the DataServer listens for incoming data transfer connections. The default value is "9001".
statusUpdateIntervaloptional The interval in seconds at which the data server should include a full status report (including disk space) with a heartbeat. The default value is "60".
writeBufferSizeoptional The size of the buffer used when the DataServer writes block files. The default value is "128KB".
readBufferSizeoptional The size of the buffer used when the DataServer reads block files. The default value is "128KB".
listenIPv4AndIPv6optional Indicates whether the DataServer should listen on both IPv6 and IPv4 addresses. On Windows, it is required to explicitly listen on both addresses if both are supported; on Linux, listening on IPv6 will automatically listen on the corresponding IPv4 address, so attempting to manually bind to that address will fail. If this setting is not specified, it defaults to "true" on Windows and "false" on Unix (which is correct for Linux, but you may need to manually set it for other Unix variants like FreeBSD). If either IPv6 or IPv4 connectivity is not available on the system, this setting has no effect.

The ookii.jumbo.dfs/​checksum element

The <checksum> element configures the CRC checksums used by the Jumbo DFS.

<checksum
    enabled=xs:boolean />

Attributes

AttributeUseDescription
enabledoptional Indicates whether checksum computation is enabled. The default value is "true".

The BinarySize type

A quantity expressed using a binary scale suffix such as B, KB, MB, GB, TB or PB. The B is optional. Also allows IEC suffixes (e.g. KiB, MiB). Examples of valid values include "5KB", "7.5M" and "9GiB". Suffixes are not case sensitive. Scale is based on powers of 2, so K = 1024, M = 1048576, G = 1073741824, and so forth.