Distributed Common Parameters Configuration

In the matrixone/etc/launch-with-proxy/ directory, there are four configuration files: cn.toml, tn.toml, proxy.toml, and log.toml. The parameters contained in these configuration files are explained below:

cn.toml

Default Parameters

The cn.toml file contains the following default parameters:

Parameter

Explanation

Example

[log]

Log configuration section

level

Log level, default is info, can be modified to different levels

level = “info”

[cn]

cn node, not editable

/

port-base

Starting port number used by “cn”. Find an available port for internal services by incrementing from this base port number, continuously checking the next 20 ports

port-base = 18000

service-host

Service connection address used for registration with HAKeeper

service-host = “127.0.0.1”

[cn.frontend]

Frontend configuration section

port

Port for MatrixOne to listen on and for client connections

port = 6001

host

Listening IP address

host = “0.0.0.0”

[fileservice.s3]

S3

File service configuration section

bucket

S3 bucket name

bucket = “my-bucket”

key-prefix

S3 key prefix

key-prefix = “prefix/”

Extended Parameters

In the cn.toml file, you can also customize and add the following configuration parameters:

Parameter

Explanation

Example

[log]

Log configuration section

format

Log save format as JSON or other

format = “console”

filename

Log filename

filename = “log1.log”

[cn.frontend]

Frontend configuration section

unix-socket

Listen on Unix domain socket

unix-socket = “/tmp/mysql.sock”

lengthOfQueryPrinted

Console output query length

lengthOfQueryPrinted = 200000

enableTls

Enable TLS

enableTls = false

tlsCaFile

Client SSL CA list file path

tlsCaFile = ‘’

tlsCertFile

Client X509 PEM format key file path

tlsCertFile = ‘’

tlsKeyFile

Client X509 PEM format key file path

tlsKeyFile = ‘’

saveQueryResult

Save query results

saveQueryResult = false

queryResultTimeout

Query result timeout

queryResultTimeout = 24

queryResultMaxsize

Maximum query result size

queryResultMaxsize = 100

lowerCaseTableNames

Case sensitivity of identifiers. The default value is 1, which means case-insensitive

lowerCaseTableNames = 1

[cn.Txn]

Transaction configuration section

isolation

Transaction isolation level. This parameter configures the isolation level on the node (cn). The isolation level defines how transactions behave when dealing with concurrent operations. By default, if the isolation level (Isolation) is not set and the transaction mode (Mode) is set to optimistic, the isolation level will be set to Serializable Isolation (SI). When the transaction mode is pessimistic, the isolation level will be set to Read Committed Isolation (RC). Default: RC

isolation = “RC”

mode

Transaction mode. This parameter configures the transaction mode on the node (cn). The transaction mode defines how operations and concurrency are handled in transactions. Valid values are optimistic and pessimistic, with the default being pessimistic.

mode = “pessimistic”

[fileservice.s3]

endpoint

S3 endpoint address

endpoint = “s3.amazonaws.com”

[fileservice.cache]

File service cache configuration section

memory-capacity

Cache memory size

memory-capacity = “512MB”

disk-path

Disk cache path

disk-path = “/var/matrixone/cache”

disk-capacity

Disk cache capacity

disk-capacity = “8GB”

[observability]

Observability parameters

host

Exposed metrics service listening IP. This parameter specifies the IP address that the metrics service listens on.

host = “0.0.0.0”

statusPort

Prometheus monitoring port. This parameter defines the port number that the metrics service listens on. Metrics services typically provide metric data via HTTP. This parameter and the host parameter form the access address for the metrics service.

statusPort = 7001

enableMetricToProm

Enable metric service. If set to true, metric service will be enabled

enableMetricToProm = false

disableMetric

Disable metric collection. If set to true, the system will not collect any metric data, and the metric service port will not be listened to

disableMetric = false

disableTrace

Disable trace collection. If set to true, the system will stop collecting any trace, metric, and log data

disableTrace = false

longQueryTime

Log queries that exceed execution time. This parameter defines a threshold in seconds to filter out queries that exceed this threshold in execution time. The execution plans (ExecPlan) of these queries are then logged for later analysis. If set to 0.0, all execution plans of queries will be logged.

longQueryTime = 1.0

tn.toml

Default Parameters

The tn.toml file contains the following default parameters:

Parameter

Explanation

Example

[log]

Log configuration section

level

Log level, default is info, can be modified to different levels

level = “info”

[dn]

TN node, not editable

uuid

Unique identifier of TN, not editable

uuid = “dd4dccb4-4d3c-41f8-b482-5251dc7a41bf”

port-base

Starting port number used by “TN”. Find an available port for internal services by incrementing from this base port number, continuously checking the next 20 ports

port-base = 19000

service-host

Service connection address used for registration with HAKeeper

service-host = “0.0.0.0”

[fileservice.s3]

S3

File service configuration section

bucket

S3 bucket name

bucket = “my-bucket”

key-prefix

S3 key prefix

key-prefix = “prefix/”

Extended Parameters

In the tn.toml file, you can also customize and add the following configuration parameters:

| Parameter |

Explanation | Example | |——————-|——————————————-|—————————| | [log] | Log configuration section | | | format | Log save format as JSON or other | format = “console” | | filename | Log filename | filename = “log1.log” | | [dn.LogtailServer]| Logtail server configuration section | | | rpc-enable-checksum| Enable RPC checksum | rpc-enable-checksum = false| | [fileservice.s3] | | | | endpoint | S3 endpoint address | endpoint = “s3.amazonaws.com”| | [fileservice.cache]| File service cache configuration section | | | memory-capacity | Cache memory size | memory-capacity = “512MB” | | disk-path | Disk cache path | disk-path = “/var/matrixone/cache”| | disk-capacity | Disk cache capacity | disk-capacity = “8GB”| | [observability] | Observability parameters | | | host | Exposed metrics service listening IP. This parameter specifies the IP address that the metrics service listens on. | host = “0.0.0.0” | | statusPort | Prometheus monitoring port. This parameter defines the port number that the metrics service listens on. Metrics services typically provide metric data via HTTP. This parameter and the host parameter form the access address for the metrics service. | statusPort = 7001 | | enableMetricToProm | Enable metric service. If set to true, metric service will be enabled | enableMetricToProm = false| | disableMetric | Disable metric collection. If set to true, the system will not collect any metric data, and the metric service port will not be listened to | disableMetric = false | | disableTrace | Disable trace collection. If set to true, the system will stop collecting any trace, metric, and log data | disableTrace = false | | longQueryTime | Log queries that exceed execution time. This parameter defines a threshold in seconds to filter out queries that exceed this threshold in execution time. The execution plans (ExecPlan) of these queries are then logged for later analysis. If set to 0.0, all execution plans of queries will be logged. | longQueryTime = 1.0 |

log.toml

Default Parameters

The log.toml file contains the following default parameters:

Parameter

Explanation

Example

[log]

Log configuration section

level

Log level, default is info, can be modified to different levels

level = “info”

[logservice]

Logservice configuration section

uuid

Unique identifier of Logservice, not editable

uuid = “dd1dccb4-4d3c-41f8-b482-5251dc7a41bf”

data-dir

Default data directory

data-dir = “./mo-data/logservice”

[fileservice.s3]

S3

File service configuration section

bucket

S3 bucket name

bucket = “my-bucket”

key-prefix

S3 key prefix

key-prefix = “prefix/”

Extended Parameters

In the log.toml file, you can also customize and add the following configuration parameters:

Parameter

Explanation

Example

[log]

Log configuration section

format

Log save format as JSON or other

format = “console”

filename

Log filename

filename = “log1.log”

[logservice.BootstrapConfig]

num-of-log-shards

num-of-log-shards = 0

num-of-tn-shards

num-of-tn-shards = 0

num-of-log-shard-replicas

num-of-log-shard-replicas = 0

[fileservice.s3]

endpoint

S3 endpoint address

endpoint = “s3.amazonaws.com”

[fileservice.cache]

File service cache configuration section

memory-capacity

Cache memory size

memory-capacity = “512MB”

disk-path

Disk cache path

disk-path = “/var/matrixone/cache”

disk-capacity

Disk cache capacity

disk-capacity = “8GB”

[observability]

Observability parameters

host

Exposed metrics service listening IP. This parameter specifies the IP address that the metrics service listens on.

host = “0.0.0.0”

statusPort

Prometheus monitoring port. This parameter defines the port number that the metrics service listens on. Metrics services typically provide metric data via HTTP. This parameter and the host parameter form the access address for the metrics service.

statusPort = 7001

enableMetricToProm

Enable metric service. If set to true, metric service will be enabled

enableMetricToProm = false

disableMetric

Disable metric collection. If set to true, the system will not collect any metric data, and the metric service port will not be listened to

disableMetric = false

disableTrace

Disable trace collection. If set to true, the system will stop collecting any trace, metric, and log data

disableTrace = false

longQueryTime

Log queries that exceed execution time. This parameter defines a threshold in seconds to filter out queries that exceed this threshold in execution time. The execution plans (ExecPlan) of these queries are then logged for later analysis. If set to 0.0, all execution plans of queries will be logged.

longQueryTime = 1.0

proxy.toml

Default Parameters

The proxy.toml file contains the following default parameters:

Parameter

Explanation

Example

[log]

Log configuration section

level

Log level, default is info, can be modified to different levels

level = “info”

[proxy]

Proxy configuration section

listen-address

Listen address, default is 0.0.0.0:6009

listen-address = “0.0.0.0:6009”

[fileservice.s3]

S3

File service configuration section

bucket

S3 bucket name

bucket = “my-bucket”

key-prefix

S3 key prefix

key-prefix = “prefix/”

Extended Parameters

In the proxy.toml file, you can also customize and add the following configuration parameters:

Parameter

Explanation

Example

[log]

Log configuration section

format

Log save format as JSON or other

format = “console”

filename

Log filename

filename = “log1.log

“ | | [proxy] | Proxy configuration section | | | rebalance-interval | Rebalance interval. This is the time interval between two rebalance operations. In distributed systems, rebalance operations are performed to balance the load between servers, ensuring each server has a similar workload. | rebalance-interval = 30 | | rebalance-disabled | Rebalance disabled flag. If set to true, the rebalance is disabled, and the system won’t perform rebalance operations automatically. | rebalance-disabled = false| | rebalance-tolerance| Rebalance tolerance. This parameter indicates the tolerance level of the rebalance. When the number of connections exceeds the average value avg * (1 + tolerance), the connections will be migrated to other CN (Compute Node) servers. The tolerance value should be less than 1, defining to what extent the number of connections can exceed the average without triggering a rebalance operation. For example, if tolerance is set to 0.3 when the number of connections on a server exceeds 30% of the average connection count, rebalance operations will migrate connections to other servers to balance the load. | rebalance-tolerance = 0.3 | | [fileservice.s3] | | | | endpoint | S3 endpoint address | endpoint = “s3.amazonaws.com”| | [fileservice.cache]| File service cache configuration section | | | memory-capacity | Cache memory size | memory-capacity = “512MB” | | disk-path | Disk cache path | disk-path = “/var/matrixone/cache”| | disk-capacity | Disk cache capacity | disk-capacity = “8GB”| | [observability] | Observability parameters | | | host | Exposed metrics service listening IP. This parameter specifies the IP address that the metrics service listens on. | host = “0.0.0.0” | | statusPort | Prometheus monitoring port. This parameter defines the port number that the metrics service listens on. Metrics services typically provide metric data via HTTP. This parameter and the host parameter form the access address for the metrics service. | statusPort = 7001 | | enableMetricToProm | Enable metric service. If set to true, metric service will be enabled | enableMetricToProm = false| | disableMetric | Disable metric collection. If set to true, the system will not collect any metric data, and the metric service port will not be listened to | disableMetric = false | | disableTrace | Disable trace collection. If set to true, the system will stop collecting any trace, metric, and log data | disableTrace = false | | longQueryTime | Log queries that exceed execution time. This parameter defines a threshold in seconds to filter out queries that exceed this threshold in execution time. The execution plans (ExecPlan) of these queries are then logged for later analysis. If set to 0.0, all execution plans of queries will be logged. | longQueryTime = 1.0 |