yb-master

Use the yb-master binary and its options to configure the YB-Master server. The yb-master executable file is located in the bin directory of YugabyteDB home.

Syntax

  1. yb-master [ option ] | [ option ]

Example

  1. $ ./bin/yb-master \
  2. --master_addresses 172.151.17.130:7100,172.151.17.220:7100,172.151.17.140:7100 \
  3. --rpc_bind_addresses 172.151.17.130 \
  4. --fs_data_dirs "/home/centos/disk1,/home/centos/disk2" \
  5. --replication_factor=3

Online help

To display the online help, run yb-master —help from the YugabyteDB home directory.

  1. $ ./bin/yb-master --help

Configuration options


General options

—version

Shows version and build information, then exits.

—flagfile

Specifies the configuration file to load flags from.

—master_addresses

Specifies a comma-separated list of all RPC addresses for yb-master consensus-configuration.

NoteThe number of comma-separated values should match the total number of YB-Master server (or the replication factor).

Required.

Default: 127.0.0.1:7100

—fs_data_dirs

Specifies a comma-separated list of mount directories, where yb-master will add a yb-data/master data directory, master.err, master.out, and pg_data directory.

Required.

—fs_wal_dirs

Specifies a comma-separated list of directories, where yb-master will store write-ahead (WAL) logs. This can be the same as one of the directories listed in —fs_data_dirs, but not a subdirectory of a data directory.

Default: Same value as —fs_data_dirs

—rpc_bind_addresses

Specifies the comma-separated list of the network interface addresses to bind to for RPC connections. Typically, the value is set to the private IP address of the host on which the server is running. When using the default, or explicitly setting the value to 0.0.0.0:7100, the server will listen on all available network interfaces.

Default: 0.0.0.0:7100

NoteIn cases where rpc_bind_addresses is set to 0.0.0.0 (or not explicitly set, and uses the default) or in cases involving public IP addresses, make sure that server_broadcast_addresses is correctly set.

—server_broadcast_addresses

Specifies the public IP or DNS hostname of the server (with an optional port). This value is used by servers to communicate with one another, depending on the connection policy parameter.

Default: 0.0.0.0:7100

—use_private_ip

Specifies the policy that determines when to use private IP addresses for inter-node communication. Possible values are never (default),zone,cloud and region. Based on the values of the placement (—placement_*) configuration options.

Valid values for the policy are:

Default: never

—webserver_interface

Specifies the bind address for web server user interface access.

Default: 0.0.0.0

—webserver_port

Specifies the web server monitoring port.

Default: 7000

—webserver_doc_root

Monitoring web server home.

Default: The www directory in the YugabyteDB home directory.


YSQL options

—enable_ysql

Enables the YSQL API when value is true. Replaces the deprecated —start_pgsql_proxy option.

Default: true


Logging options

—alsologtoemail

Sends log messages to these email addresses in addition to logfiles.

Default: ""

—colorlogtostderr

Color messages logged to stderr (if supported by terminal).

Default: false

—logbuflevel

Buffer log messages logged at this level (or lower).

Valid values: -1 (don’t buffer); 0 (INFO); 1 (WARN); 2 (ERROR); 3 (FATAL)

Default: 0

—logbufsecs

Buffer log messages for at most this many seconds.

Default: 30

—logemaillevel

Email log messages logged at this level, or higher.

Values: 0 (all); 1 (WARN), 2 (ERROR), 3 (FATAL), 999 (none)

Default: 999

—logmailer

The mailer used to send logging email messages.

Default: `“/bin/mail”

—logtostderr

Write log messages to stderr instead of logfiles.

Default: false

—log_dir

The directory to write yb-master log files.

Default: Same as —fs_data_dirs

Put additional links to the log files in this directory.

Default: ""

—log_prefix

Prepend the log prefix to each log line.

Default: true

—max_log_size

The maximum log size, in megabytes (MB). A value of 0 will be silently overridden to 1.

Default: 1800 (1.8 GB)

—minloglevel

The minimum level to log messages. Values are: 0 (INFO), 1 (WARN), 2 (ERROR), 3 (FATAL).

Default: 0 (INFO)

—stderrthreshold

Log messages at, or above, this level are copied to stderr in addition to log files.

Default: 2


Raft options

NoteEnsure that values used for Raft and the write ahead log (WAL) in yb-master configurations match the values in yb-tserver configurations.

—follower_unavailable_considered_failed_sec

The duration, in seconds, after which a follower is considered to be failed because the leader has not received a heartbeat. The follower is then evicted from the configuration and the data is rereplicated elsewhere.

Default: 900 (15 minutes)

ImportantThe —follower_unavailable_considered_failed_sec value should match the value for —log_min_seconds_to_retain.

—leader_failure_max_missed_heartbeat_periods

The maximum heartbeat periods that the leader can fail to heartbeat in before the leader is considered to be failed. The total failure timeout, in milliseconds, is —raft_heartbeat_interval_ms multiplied by —leader_failure_max_missed_heartbeat_periods.

For read replica clusters, set the value to 10 in all yb-tserver and yb-master configurations. Because the the data is globally replicated, RPC latencies are higher. Use this option to increase the failure detection interval in such a higher RPC latency deployment.

Default: 6

—raft_heartbeat_interval_ms

The heartbeat interval, in milliseconds, for Raft replication. The leader produces heartbeats to followers at this interval. The followers expect a heartbeat at this interval and consider a leader to have failed if it misses several in a row.

Default: 500

Write ahead log (WAL) options

NoteEnsure that values used for the write ahead log (WAL) in yb-master configurations match the values in yb-tserver configurations.

—fs_wal_dirs

The directory where the yb-tserver retains WAL files. May be the same as one of the directories listed in —fs_data_dirs, but not a subdirectory of a data directory.

Default: Same as —fs_data_dirs

—durable_wal_write

If set to false, the writes to the WAL are synced to disk every interval_durable_wal_write_ms milliseconds (ms) or every bytes_durable_wal_write_mb megabyte (MB), whichever comes first. This default setting is recommended only for multi-AZ or multi-region deployments where the availability zones (AZs) or regions are independent failure domains and there is not a risk of correlated power loss. For single AZ deployments, this option should be set to true.

Default: false

—interval_durable_wal_write_ms

When —durable_wal_write is false, writes to the WAL are synced to disk every —interval_durable_wal_write_ms or —bytes_durable_wal_write_mb, whichever comes first.

Default: 1000

—bytes_durable_wal_write_mb

When —durable_wal_write is false, writes to the WAL are synced to disk every —bytes_durable_wal_write_mb or —interval_durable_wal_write_ms, whichever comes first.

Default: 1

—log_min_seconds_to_retain

The minimum duration, in seconds, to retain WAL segments, regardless of durability requirements. WAL segments can be retained for a longer amount of time, if they are necessary for correct restart. This value should be set long enough such that a tablet server which has temporarily failed can be restarted within the given time period.

Default: 900 (15 minutes)

—log_min_segments_to_retain

The minimum number of WAL segments (files) to retain, regardless of durability requirements. The value must be at least 1.

Default: 2

—log_segment_size_mb

The size, in megabytes (MB), of a WAL segment (file). When the WAL segment reaches the specified size, then a log rollover occurs and a new WAL segment file is created.

Default: 64


Cluster options

—yb_num_shards_per_tserver

Specifies the number of shards per YB-TServer per table when a user table is created.

Default: Server automatically picks a valid default internally, typically 8.

—max_clock_skew_usec

The expected maximum clock skew, in microseconds (µs), between any two servers in your deployment.

Default: 50000 (50,000 µs = 50ms)

—replication_factor

The number of replicas, or copies of data, to store for each tablet in the universe.

Default: 3


Geo-distribution options

Settings related to managing geo-distributed clusters.

—placement_zone

The name of the availability zone (AZ), or rack, where this instance is deployed.

Default: rack1

—placement_region

Name of the region or data center where this instance is deployed.

Default: datacenter1

—placement_cloud

Name of the cloud where this instance is deployed.

Default: cloud1

—use_private_ip

Determines when to use private IP addresses. Possible values are never (default),zone,cloud and region. Based on the values of the placement_* configuration options.

Default: never


Security options

For details on enabling server-to-server encryption, see Server-server encryption.

—certs_dir

Directory that contains certificate authority, private key, and certificates for this server.

Default: "" (Uses <data drive>/yb-data/master/data/certs.)

—allow_insecure_connections

Allow insecure connections. Set to false to prevent any process with unencrypted communication from joining a cluster. Note that this option requires the use_node_to_node_encryption to be enabled.

Default: true

—dump_certificate_entries

Dump certificate entries.

Default: false

—use_node_to_node_encryption

Enable server-server, or node-to-node, encryption between YugabyteDB YB-Master and YB-TServer servers in a cluster or universe. To work properly, all YB-Master servers must also have their —use_node_to_node_encryption setting enabled. When enabled, then —allow_insecure_connections must be disabled.

Default: false


Change data capture (CDC) options

To learn more about CDC, see Change data capture (CDC).

For other CDC configuration options, see YB-TServer’s CDC options.

—cdc_state_table_num_tablets

The number of tablets to use when creating the CDC state table.

Default: 0 (Use the same default number of tablets as for regular tables.)

—cdc_wal_retention_time_secs

WAL retention time, in seconds, to be used for tables for which a CDC stream was created. If you change the value, make sure that yb-tserver —cdc_wal_retention_time_secs is also updated with the same value.

Default: 14400 (4 hours)

Admin UI

The Admin UI for yb-master is available at http://localhost:7000.

Home

Home page of the YB-Master server that gives a high level overview of the cluster. Note all YB-Master servers in a cluster show identical information.

master-home

Tables

List of tables present in the cluster.

master-tables

Tablet servers

List of all nodes (aka YB-TServer servers) present in the cluster.

master-tservers

Debug

List of all utilities available to debug the performance of the cluster.

master-debug