github.com/m3db/m3@v1.5.1-0.20231129193456-75a402aa583b/src/dbnode/config/m3dbnode-all-config.yml (about)

     1  # Include this field if you want to enable an embedded M3Coordinator instance.
     2  coordinator:
     3    # Address for M3Coordinator to listen for traffic.
     4    listenAddress: 0.0.0.0:7201
     5  
     6    # Configuration for M3Coordinator logging.
     7    logging:
     8      level: info
     9      # Configuration for logging encoder.
    10      encoderConfig:
    11        messageKey: msg
    12        levelKey: level
    13        timeKey: ts
    14        nameKey: logger
    15        callerKey: caller
    16        functionKey: ""
    17        stacktraceKey: stacktrace
    18        lineEnding: "\n"
    19        levelEncoder: lowercase
    20        timeEncoder: epoch
    21        durationEncoder: seconds
    22        callerEncoder: short
    23        nameEncoder: full
    24  
    25    # Configuration for emitting M3Coordinator metrics.
    26    metrics:
    27      scope:
    28        # Prefix to apply to all metrics.
    29        prefix: "coordinator"
    30      prometheus:
    31        # Path and address to expose Prometheus scrape endpoint.
    32        handlerPath: /metrics
    33        listenAddress: 0.0.0.0:7203 # until https://github.com/m3db/m3/issues/682 is resolved
    34      sanitization: prometheus
    35      # Sampling rate for metrics, use 1.0 for no sampling.
    36      samplingRate: 1.0
    37      extended: none
    38  
    39    tagOptions:
    40      # Configuration setting for generating metric IDs from tags.
    41      idScheme: quoted
    42  
    43  db:
    44    # Minimum log level which will be emitted.
    45    logging:
    46      level: info
    47  
    48    # Configuration for emitting M3DB metrics.
    49    metrics:
    50      prometheus:
    51        # Path to expose Prometheus scrape endpoint.
    52        handlerPath: /metrics
    53      sanitization: prometheus
    54      # Sampling rate for metrics, use 1.0 for no sampling.
    55      samplingRate: 1.0
    56      extended: detailed
    57  
    58    # Address to listen on for local thrift/tchannel APIs.
    59    listenAddress: 0.0.0.0:9000
    60    # Address to listen on for cluster thrift/tchannel APIs.
    61    clusterListenAddress: 0.0.0.0:9001
    62    # Address to listen on for local json/http APIs (used for debugging primarily).
    63    httpNodeListenAddress: 0.0.0.0:9002
    64    # Address to listen on for cluster json/http APIs (used for debugging primarily).
    65    httpClusterListenAddress: 0.0.0.0:9003
    66    # Address to listen on for debug APIs (pprof, etc).
    67    debugListenAddress: 0.0.0.0:9004
    68  
    69    # Configuration for resolving the instances host ID.
    70    hostID:
    71      # "Config" resolver states that the host ID will be resolved from this file.
    72      resolver: config
    73      value: m3db_local
    74  
    75    client:
    76      # Consistency level for writes.
    77      writeConsistencyLevel: majority
    78      # Consistency level for reads.
    79      readConsistencyLevel: unstrict_majority
    80      # Timeout for writes.
    81      writeTimeout: 10s
    82      # Timeout for reads.
    83      fetchTimeout: 15s
    84      # Timeout for establishing a connection to the cluster.
    85      connectTimeout: 20s
    86      # Configuration for retrying writes.
    87      writeRetry:
    88          initialBackoff: 500ms
    89          backoffFactor: 3
    90          maxRetries: 2
    91          jitter: true
    92      # Configuration for retrying reads.
    93      fetchRetry:
    94          initialBackoff: 500ms
    95          backoffFactor: 2
    96          maxRetries: 3
    97          jitter: true
    98      # Number of times we background health check for a node can fail before
    99      # considering the node unhealthy.
   100      backgroundHealthCheckFailLimit: 4
   101      backgroundHealthCheckFailThrottleFactor: 0.5
   102  
   103    # Sets GOGC value.
   104    gcPercentage: 100
   105  
   106    # Whether new series should be created asynchronously (recommended value
   107    # of true for high throughput.)
   108    writeNewSeriesAsync: true
   109    writeNewSeriesBackoffDuration: 2ms
   110  
   111    bootstrap:
   112      commitlog:
   113        # Whether tail end of corrupted commit logs cause an error on bootstrap.
   114        returnUnfulfilledForCorruptCommitLogFiles: false
   115  
   116    cache:
   117      # Caching policy for database blocks.
   118      series:
   119        policy: lru
   120  
   121    commitlog:
   122      # Maximum number of bytes that will be buffered before flushing the commitlog.
   123      flushMaxBytes: 524288
   124      # Maximum amount of time data can remain buffered before flushing the commitlog.
   125      flushEvery: 1s
   126      # Configuration for the commitlog queue. High throughput setups may require higher
   127      # values. Higher values will use more memory.
   128      queue:
   129        calculationType: fixed
   130        size: 2097152
   131  
   132    filesystem:
   133      # Directory to store M3DB data in.
   134      filePathPrefix: /var/lib/m3db
   135      # Various fixed-sized buffers used for M3DB I/O.
   136      writeBufferSize: 65536
   137      dataReadBufferSize: 65536
   138      infoReadBufferSize: 128
   139      seekReadBufferSize: 4096
   140      # Maximum Mib/s that can be written to disk by background operations like flushing
   141      # and snapshotting to prevent them from interfering with the commitlog. Increasing
   142      # this value can make node adds significantly faster if the underlying disk can
   143      # support the throughput.
   144      throughputLimitMbps: 1000.0
   145      throughputCheckEvery: 128
   146  
   147    # This feature is currently not working, do not enable.
   148    repair:
   149      enabled: false
   150      throttle: 2m
   151      checkInterval: 1m
   152  
   153    # etcd configuration.
   154    discovery:
   155      config:
   156          service:
   157              # KV environment, zone, and service from which to write/read KV data (placement
   158              # and configuration). Leave these as the default values unless you know what
   159              # you're doing.
   160              env: default_env
   161              zone: embedded
   162              service: m3db
   163              # Directory to store cached etcd data in.
   164              cacheDir: /var/lib/m3kv
   165              # Configuration to identify the etcd hosts this node should connect to.
   166              etcdClusters:
   167                  - zone: embedded
   168                    endpoints:
   169                        - 127.0.0.1:2379
   170          # Should only be present if running an M3DB cluster with embedded etcd.
   171          seedNodes:
   172              initialCluster:
   173                  - hostID: m3db_local
   174                    endpoint: http://127.0.0.1:2380