GridGain Developers Hub

Node Configuration Parameters

Node configuration is individual for each node and is not shared across the whole cluster.

Checking Node Configuration

To get node configuration, use the CLI tool.

  • Start the CLI tool and connect to the node.

  • Run the node config show command.

The CLI tool will print the full node configuration. If you only need a part of the configuration, you can narrow down the search by providing the properties you need as the command argument, for example:

node config show clientConnector

Changing Node Configuration

Node configuration is changed from the CLI tool. To change the configuration:

  • Start the CLI tool and connect to the node.

  • Run the node config update command and provide the updated configuration as the command argument, for example:

    node config update clientConnector.connectTimeout=10000
  • Restart the node to apply the configuration changes.

Configuration Parameters

Storage Configuration

See the Persistent storage section for information on storage configuration settings.

Client Connector

See the Clients section for information on configuring client connector.

Cluster Configuration

  "cluster" : {
    "networkInvokeTimeout" : 500
  },
Property Default Description

networkInvokeTimeout

500

Timeout for network requests within the cluster.

Compute Configuration

  "compute" : {
    "queueMaxSize" : 2147483647,
    "statesLifetimeMillis" : 60000,
    "threadPoolSize" : 64,
    "threadPoolStopTimeoutMillis" : 10000
  },
Property Default Description

queueMaxSize

2147483647

Maximum number of compute tasks in queue.

statesLifetimeMillis

60000

The lifetime of job states after the job finishes, in milliseconds.

threadPoolSize

64

The number of threads available to compute jobs.

threadPoolStopTimeoutMillis

10000

Job thread pool stop timeout, in milliseconds.

Code Deployment Configuration

  "deployment" : {
    "deploymentLocation" : "deployment"
  },
Property Default Description

deploymentLocation

deployment

Relative path to folder in the working directory. All deployment units content will be stored there.

Expiration Configuration

  "expiration" : {
    "batchSize" : 1000,
    "checkFrequency" : 600000,
    "parallelismLevel" : 1
  },
Property Default Description

batchSize

1000

The number of items that can be expired at once.

checkFrequency

600000

How often the data is checked for expiration.

parallelismLevel

1

The number of threads used for data expiry.

Network Configuration

  "network" : {
    "fileTransfer" : {
      "chunkSize" : 1048576,
      "maxConcurrentRequests" : 4,
      "responseTimeout" : 10000,
      "threadPoolSize" : 8
    },
    "inbound" : {
      "soBacklog" : 128,
      "soKeepAlive" : true,
      "soLinger" : 0,
      "soReuseAddr" : true,
      "tcpNoDelay" : true
    },
    "membership" : {
      "failurePingInterval" : 1000,
      "membershipSyncInterval" : 30000,
      "scaleCube" : {
        "failurePingRequestMembers" : 3,
        "gossipInterval" : 200,
        "gossipRepeatMult" : 3,
        "membershipSuspicionMultiplier" : 5,
        "metadataTimeout" : 3000
      }
    },
    "nodeFinder" : {
      "netClusterNodes" : [ "localhost:3344" ],
      "type" : "STATIC"
    },
    "outbound" : {
      "soKeepAlive" : true,
      "soLinger" : 0,
      "tcpNoDelay" : true
    },
    "port" : 3344,
    "shutdownQuietPeriod" : 0,
    "shutdownTimeout" : 15000,
    "ssl" : {
      "ciphers" : "",
      "clientAuth" : "none",
      "enabled" : false,
      "keyStore" : {
        "password" : "********",
        "path" : "",
        "type" : "PKCS12"
      },
      "trustStore" : {
        "password" : "********",
        "path" : "",
        "type" : "PKCS12"
      }
    }
  },
Property Default Description

fileTransfer

File transfer configuration.

fileTransfer.chunkSize

1048576

Chunk size in bytes.

fileTransfer.maxConcurrentRequests

4

Maximum number of concurrent requests.

fileTransfer.responseTimeout

10000

Node response timeout during file transfer.

fileTransfer.threadPoolSize

8

File sender thread pool size.

inbound

Server socket configuration. See TCP documentation and socket documentaion for more information.

inbound.soBacklog

128

The size of the backlog.

inbound.soKeepAlive

true

Defines if the keep-alive packets are allowed.

inbound.soLinger

0

Defines how long the closed socket should linger.

inbound.soReuseAddr

true

Defines if the address can be reused.

inbound.tcpNoDelay

true

Defines if the TCP no delay option is used.

membership

Node membership configuration.

membership.failurePingInterval

1000

Failure detector ping interval.

membership.membershipSyncInterval

30000

Periodic membership data synchronization interval.

membership.scaleCube

ScaleCube-specific configuration.

scaleCube.failurePingRequestMembers

3

Number of members that are randomly selected by a cluster node for an indirect ping request.

scaleCube.gossipInterval

200

Gossip spreading interval.

scaleCube.gossipRepeatMult

3

Gossip repeat multiplier.

scaleCube.membershipSuspicionMultiplier

5

The multiplier that is used to calculate the timeout after which the node is considered dead.

scaleCube.metadataTimeout

3000

The timeout on metadata update operation, in milliseconds.

nodeFinder

Configuration for how the node finds other nodes in the cluster.

nodeFinder.netClusterNodes

localhost:3344

Addresses of all nodes in the cluster in a host:port format.

nodeFinder.type

STATIC

Node finder type.

outbound

Outbound request configuration.

outbound.soKeepAlive

true

Defines if the keep-alive packets are allowed.

outbound.soLinger

0

Defines how long the closed socket should linger.

outbound.tcpNoDelay

true

Defines if the TCP no delay option is used.

port

3344

Node port.

shutdownQuietPeriod

0

The period during node shutdown when GridGain ensures that no tasks are submitted for the before the node shuts itself down. If a task is submitted during this period, it is guaranteed to be accepted.

shutdownTimeout

15000

The maximum amount of time until the node is shut down regardless of if new network messages were submitted during shutdownQuietPeriod.

ssl.ciphers

Explicitly set node ssl cipher.

ssl.clientAuth

none

Client authorization used by the node, if any.

ssl.enabled

false

Defines if SSL is enabled for the node.

ssl.keyStore

SSL keystore configuration.

keyStore.password

Keystore password.

keyStore.path

Path to the keystore.

keyStore.type

PKCS12

Keystore type.

ssl.port

Port used for SSL connections.

ssl.trustStore

SSL trustsore configuration.

trustStore.password

Truststore password.

trustStore.path

Path to the truststore.

trustStore.type

PKCS12

Truststore type.

Node Attributes

  "nodeAttributes" : {
    "nodeAttributes" : [ ]
  },
Property Default Description

nodeAttributes

The list of node attributes used for data region configuration.

Raft Configuration

  "raft" : {
    "fsync" : true,
    "responseTimeout" : 3000,
    "retryDelay" : 200,
    "retryTimeout" : 10000,
    "rpcInstallSnapshotTimeout" : 300000,
    "volatileRaft" : {
      "logStorage" : {
        "name" : "unlimited"
      }
    }
  },
Property Default Description

fsync

true

Defines if fsync will be used to transfer data in the cluster.

responseTimeout

3000

Raft group response timeout.

retryDelay

200

The delay before the request is retried.

retryTimeout

10000

The timeout after which the request is considered timed out.

rpcInstallSnapshotTimeout

300000

The maximum allowed duration from sending InstallSnapshot request and getting a response to it. During it, the snapshot must be fully transferred to a recipient and installed.

volatileRaft.logStorage.name

The name of the log storage used by the node.

REST Configuration

  "rest" : {
    "dualProtocol" : false,
    "httpToHttpsRedirection" : false,
    "port" : 10300,
    "ssl" : {
      "ciphers" : "",
      "clientAuth" : "none",
      "enabled" : false,
      "keyStore" : {
        "password" : "********",
        "path" : "",
        "type" : "PKCS12"
      },
      "port" : 10400,
      "trustStore" : {
        "password" : "********",
        "path" : "",
        "type" : "PKCS12"
      }
    }
  },
Property Default Description

dualProtocol

false

Defines if both HTTP and HTTPS protocols are used by the endpoint.

httpToHttpsRedirection

false

Defines if requests to HTTP endpoint will be redirected to HTTPS.

port

10300

The port of the node’s REST endpoint.

ssl.ciphers

Explicitly set node ssl cipher.

ssl.clientAuth

none

Client authorization used by the node, if any.

ssl.enabled

false

Defines if SSL is enabled for the node

ssl.keyStore

SSL keystore configuration.

keyStore.password

Keystore password.

keyStore.path

Path to the keystore.

keyStore.type

PKCS12

Keystore type.

ssl.port

10400

Port used for SSL connections.

ssl.trustStore

SSL trustsore configuration.

trustStore.password

Truststore password.

trustStore.path

Path to the truststore.

trustStore.type

PKCS12

Truststore type.

SQL Configuration

  "sql" : {
    "nodeMemoryQuota" : "1000g"
  },
Property Default Description

nodeMemoryQuota

1000g

Node-wide limit for memory that can be used for SQL queries.

Storage Profiles Configuration

  "storageProfiles" : {
    "storageProfiles" : [ ]
  }
}
Property Default Description

storageProfiles

The list of available storage profiles.