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 |