| This document applies to Apache Kudu version 1.18.0. Please consult the documentation of the appropriate release that’s applicable to the version of the Kudu cluster. |
kudu-master FlagsFlags tagged stable and not advanced are safe to use for common
configuration tasks.
--builtin_ntp_serversComma-separated list of NTP servers for the built-in NTP client, each in format <FQDN|IP>[:PORT]. This list will be used in one of the following cases: (A) the built-in NTP client is explicitly set as the time source (i.e. --time_source=builtin) (B) the 'auto' pseudo-source for time is used and the cloud instance detector isn’t aware about any preferred NTP servers provided by the environment.
Type |
string |
|---|---|
Default |
|
Tags |
stable |
--time_sourceThe time source that HybridClock should use. Must be one of auto, builtin, system, system_unsync (toy clusters/testing only), mock (testing only). When set to auto, the system automatically picks one of the following depending on the environment: builtin, system, system_unsync, where in case of picking builtin the built-in NTP client is configured with dedicated NTP server(s) provided by the environment.
Type |
string |
|---|---|
Default |
|
Tags |
stable |
--log_force_fsync_allWhether the Log/WAL should explicitly call fsync() after each write.
Type |
bool |
|---|---|
Default |
|
Tags |
stable |
--fs_data_dirsComma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.
Type |
string |
|---|---|
Default |
none |
Tags |
stable |
--fs_metadata_dirDirectory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.
Type |
string |
|---|---|
Default |
none |
Tags |
stable |
--fs_wal_dirDirectory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs
Type |
string |
|---|---|
Default |
none |
Tags |
stable |
--master_addressesComma-separated list of the RPC addresses belonging to all Masters in this cluster. NOTE: if not specified or a single address is specified, configures a non-replicated Master.
Type |
string |
|---|---|
Default |
none |
Tags |
stable |
--keytab_filePath to the Kerberos Keytab file for this server. Specifying a keytab file will cause the server to kinit, and enable Kerberos to be used to authenticate RPC connections.
Type |
string |
|---|---|
Default |
none |
Tags |
stable |
--rpc_bind_addressesComma-separated list of addresses to bind to for RPC connections. Currently, ephemeral ports (i.e. port 0) are not allowed.
Type |
string |
|---|---|
Default |
|
Tags |
stable |
--superuser_aclThe list of usernames to allow as super users, comma-separated. A '*' entry indicates that all authenticated users are allowed. If this is left unset or blank, the default behavior is that the identity of the daemon itself determines the superuser. If the daemon is logged in from a Keytab, then the local username from the Kerberos principal is used; otherwise, the local Unix username is used.
Type |
string |
|---|---|
Default |
none |
Tags |
sensitive,stable |
--user_aclThe list of usernames who may access the cluster, comma-separated. A '*' entry indicates that all authenticated users are allowed.
Type |
string |
|---|---|
Default |
|
Tags |
sensitive,stable |
--webserver_certificate_fileThe location of the embedded webserver’s TLS/SSL certificate file, in PEM format. If empty, webserver TLS/SSL support is not enabled. If --webserver_private_key_file is set, this option must be set as well.
Type |
string |
|---|---|
Default |
none |
Tags |
stable |
--webserver_private_key_fileThe full path to the private key used as a counterpart to the public key contained in --webserver_certificate_file. This flag must be set if the --webserver_certificate_file flag is set.
Type |
string |
|---|---|
Default |
none |
Tags |
stable,sensitive |
--webserver_private_key_password_cmdA Unix command whose output returns the password to decrypt the private key of the webserver’s certificate pointed to by the --webserver_private_key_file flag. If the PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key
Type |
string |
|---|---|
Default |
none |
Tags |
stable,sensitive |
--webserver_require_spnegoRequire connections to the webserver to authenticate via Kerberos using SPNEGO.
Type |
bool |
|---|---|
Default |
|
Tags |
stable |
--log_filenamePrefix of log filename - full path is <log_dir>/<log_filename>.[INFO|WARN|ERROR|FATAL]
Type |
string |
|---|---|
Default |
none |
Tags |
stable |
--max_log_filesMaximum number of log files to retain per severity level. The most recent log files are retained. If set to 0, all log files are retained.
Type |
int32 |
|---|---|
Default |
|
Tags |
stable,runtime |
--maintenance_manager_num_threadsSize of the maintenance manager thread pool. For spinning disks, the number of threads should not be above the number of devices.
Type |
int32 |
|---|---|
Default |
|
Tags |
stable |
--memory_limit_hard_bytesMaximum amount of memory this daemon should use, in bytes. A value of 0 autosizes based on the total system memory. A value of -1 disables all memory limiting.
Type |
int64 |
|---|---|
Default |
|
Tags |
stable |
--helpshow help on all flags [tip: all flags can have two dashes]
Type |
bool |
|---|---|
Default |
|
Tags |
stable |
--colorlogtostderrcolor messages logged to stderr (if supported by terminal)
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,stable |
--log_dirIf specified, logfiles are written into this directory instead of the default logging directory.
Type |
string |
|---|---|
Default |
none |
Tags |
stable |
--logtostderrlog messages go to stderr instead of logfiles
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,stable |
--max_log_sizeapprox. maximum log file size (in MB). A value of 0 will be silently overridden to 1.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,stable |
Flags tagged stable and advanced are supported, but should be considered
"expert" options and should be used carefully and after thorough testing.
--principalKerberos principal that this daemon will log in as. The special token _HOST will be replaced with the FQDN of the local host.
Type |
string |
|---|---|
Default |
|
Tags |
stable,advanced |
--tablet_history_max_age_secNumber of seconds to retain tablet history, including history required to perform diff scans and incremental backups. Reads initiated at a snapshot that is older than this age will be rejected. To disable history removal, set to -1.
Type |
int32 |
|---|---|
Default |
|
Tags |
stable,advanced,runtime |
--enable_process_lifetime_heap_profilingEnables heap profiling for the lifetime of the process. Profile output will be stored in the directory specified by -heap_profile_path.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced,stable |
--heap_profile_pathOutput path to store heap profiles. If not set profiles are stored in /tmp/<process-name>.<pid>.<n>.heap.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced,stable |
--unlock_experimental_flagsUnlock flags marked as 'experimental'. These flags are not guaranteed to be maintained across releases of Kudu, and may enable features or behavior known to be unstable. Use at your own risk.
Type |
bool |
|---|---|
Default |
|
Tags |
stable,advanced |
--unlock_unsafe_flagsUnlock flags marked as 'unsafe'. These flags are not guaranteed to be maintained across releases of Kudu, and enable features or behavior known to be unsafe. Use at your own risk.
Type |
bool |
|---|---|
Default |
|
Tags |
stable,advanced |
--fromenvset flags from the environment [use 'export FLAGS_flag1=value']
Type |
string |
|---|---|
Default |
none |
Tags |
advanced,stable |
--tryfromenvset flags from the environment if present
Type |
string |
|---|---|
Default |
none |
Tags |
advanced,stable |
--undefokcomma-separated list of flag names that it is okay to specify on the command line even if the program does not define a flag with that name. IMPORTANT: flags in this list that have arguments MUST use the flag=value format
Type |
string |
|---|---|
Default |
none |
Tags |
advanced,stable |
--helpmatchshow help on modules whose name contains the specified substr
Type |
string |
|---|---|
Default |
none |
Tags |
advanced,stable |
--helponshow help on the modules named by this flag value
Type |
string |
|---|---|
Default |
none |
Tags |
advanced,stable |
--helppackageshow help on all modules in the main package
Type |
bool |
|---|---|
Default |
|
Tags |
advanced,stable |
--helpshortshow help on only the main module for this program
Type |
bool |
|---|---|
Default |
|
Tags |
advanced,stable |
--log_linkPut additional links to the log files in this directory
Type |
string |
|---|---|
Default |
none |
Tags |
advanced,stable |
--log_prefixPrepend the log prefix to the start of each log line
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,stable,advanced |
--minloglevelMessages logged at a lower level than this don’t actually get logged anywhere
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,stable,advanced |
--stderrthresholdlog messages at or above this level are copied to stderr in addition to logfiles. This flag obsoletes --alsologtostderr.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,stable,advanced |
--stop_logging_if_full_diskStop attempting to log to disk if the disk is full.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,stable,advanced |
--symbolize_stacktraceSymbolize the stack trace in the tombstone
Type |
bool |
|---|---|
Default |
|
Tags |
advanced,stable,runtime |
--vShow all VLOG(m) messages for m ⇐ this. Overridable by --vmodule.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,stable,advanced |
--vmoduleper-module verbose level. Argument is a comma-separated list of <module name>=<log level>. <module name> is a glob pattern, matched against the filename base (that is, name ignoring .cc/.h./-inl.h). <log level> overrides any value given by --v.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced,stable |
Flags tagged evolving (or not tagged with a stability tag) are not yet
considered final, and while they may be useful for tuning, they are subject to
being changed or removed without notice.
--block_cache_typeWhich type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.
Type |
string |
|---|---|
Default |
|
Tags |
--cfile_verify_checksumsVerify the checksum for each block on read if one exists
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,evolving |
--cfile_default_block_sizeThe default block size to use in cfiles
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--cfile_default_compression_codecDefault cfile block compression codec.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--client_tablet_locations_by_id_ttl_msMaximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--show_attributesWhether to show column attributes, including column encoding type, compression type, and default read/write value.
Type |
bool |
|---|---|
Default |
|
Tags |
--builtin_ntp_client_bind_addressLocal address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--builtin_ntp_poll_interval_msThe time between successive polls of a single NTP server (in milliseconds)
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--max_clock_sync_error_usecMaximum allowed clock synchronization error as reported by NTP before the server will abort.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--ntp_initial_sync_wait_secsAmount of time in seconds to wait for clock synchronisation at startup. A value of zero means Kudu will fail to start if the clock is unsynchronized. This flag can prevent Kudu from crashing if it starts before NTP can synchronize the clock.
Type |
int32 |
|---|---|
Default |
|
Tags |
evolving,advanced |
--predicate_effectivess_enabledShould ineffective predicate filtering be disabled
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--predicate_effectivess_num_skip_blocksNumber of blocks to skip for every predicate effectiveness check
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--predicate_effectivess_reject_ratioRejection ratio below which predicate filter is considered ineffective
Type |
double |
|---|---|
Default |
|
Tags |
runtime,advanced |
--ranger_default_databaseName of the default database which is used in the Ranger authorization context when the database name is not specified in the table name. Ranger makes no difference between <ranger_default_database>.<table> and <table>, so privileges granted on <table> in <ranger_default_database> are applied to both <ranger_default_database>.<table> and <table> in Kudu.
Type |
string |
|---|---|
Default |
|
Tags |
--cmeta_force_fsyncWhether fsync() should be called when consensus metadata files are updated
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--consensus_rpc_timeout_msTimeout used for all consensus internal RPC communications.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--consensus_max_batch_size_bytesThe maximum per-tablet RPC batch size when updating peers.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--follower_unavailable_considered_failed_secSeconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--fs_wal_use_file_cacheWhether to use the server-wide file cache for WAL segments and WAL index chunks.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced,runtime |
--group_commit_queue_size_bytesMaximum size of the group commit queue in bytes
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--log_min_segments_to_retainThe minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced,runtime |
--global_log_cache_size_limit_mbServer-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--log_cache_size_limit_mbThe total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--log_async_preallocate_segmentsWhether the WAL segments preallocation should happen asynchronously
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--log_preallocate_segmentsWhether the WAL should preallocate the entire segment before writing to it
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--evict_failed_followersWhether to evict followers from the Raft config that have fallen too far behind the leader’s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--leader_failure_max_missed_heartbeat_periodsMaximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--raft_heartbeat_interval_msThe heartbeat interval 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.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--safe_time_advancement_without_writesWhether to enable the advancement of "safe" time in the absense of write operations
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--fs_data_dirs_available_space_cache_secondsTTL for the cached metric of the available disk space in the data directories, in seconds
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced,evolving |
--fs_data_dirs_consider_available_spaceWhether to consider available space when selecting a data directory during tablet or data block creation.
Type |
bool |
|---|---|
Default |
|
Tags |
evolving,runtime |
--fs_data_dirs_reserved_bytesNumber of bytes to reserve on each data directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported
Type |
int64 |
|---|---|
Default |
|
Tags |
evolving,runtime |
--fs_max_thread_count_per_data_dirMaximum work thread per data directory.
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced |
--fs_target_data_dirs_per_tabletIndicates the target number of data dirs to spread each tablet’s data across. If greater than the number of data dirs available, data will be striped across those available. A value of 0 indicates striping should occur across all healthy data dirs. Using fewer data dirs per tablet means a single drive failure will be less likely to affect a given tablet.
Type |
int32 |
|---|---|
Default |
|
Tags |
evolving,advanced |
--fs_wal_dir_available_space_cache_secondsTTL for the cached metric of the available disk space in the WAL directories, in seconds
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced,evolving |
--block_managerWhich block manager to use for storage. Valid options are 'file', 'log' and 'logr'. The 'file' block manager is not suitable for production use due to scaling limitations.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--encryption_cluster_key_nameName of the cluster key that is used to encrypt server encryption keys as stored in Ranger KMS.
Type |
string |
|---|---|
Default |
|
Tags |
--encryption_key_providerKey provider implementation to generate and decrypt server keys. Valid values are: 'default' (not for production usage), and 'ranger-kms'.
Type |
string |
|---|---|
Default |
|
Tags |
--fs_wal_dir_reserved_bytesNumber of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime |
--ranger_kms_urlComma-separated list of Ranger KMS server URLs. Must be set when 'encryption_key_provider' is set to 'ranger-kms'.
Type |
string |
|---|---|
Default |
none |
Tags |
--log_container_excess_space_before_cleanup_fractionAdditional fraction of a log container’s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--log_container_max_blocksMaximum number of blocks (soft) of a log container. Use 0 for no limit. Use -1 for no limit except in the case of a kernel bug with hole punching on ext4 (see KUDU-1508 for details).
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--log_container_max_sizeMaximum size (soft) of a log container
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced |
--log_container_preallocate_bytesNumber of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced |
--hive_metastore_conn_timeout_secondsConfigures the socket connect timeout, in seconds, for Thrift connections to the Hive Metastore.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--hive_metastore_kerberos_principalThe service principal of the Hive Metastore server. Must match the primary (user) portion of hive.metastore.kerberos.principal option in the Hive Metastore configuration.
Type |
string |
|---|---|
Default |
|
Tags |
--hive_metastore_max_message_size_bytesMaximum size of Hive Metastore objects that can be received by the HMS client in bytes. Should match the metastore.server.max.message.size configuration.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--hive_metastore_recv_timeout_secondsConfigures the socket receive timeout, in seconds, for Thrift connections to the Hive Metastore.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--hive_metastore_retry_countThe number of times that HMS operations will retry after encountering retriable failures, such as network errors.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--hive_metastore_sasl_enabledConfigures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Must match the value of the hive.metastore.sasl.enabled option in the Hive Metastore configuration. When enabled, the --keytab_file flag must be provided.
Type |
bool |
|---|---|
Default |
|
Tags |
--hive_metastore_send_timeout_secondsConfigures the socket send timeout, in seconds, for Thrift connections to the Hive Metastore.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--hive_metastore_urisAddress of the Hive Metastore instance(s). The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. If not set, the Kudu master will not send Kudu table catalog updates to Hive. The configured value must match the Hive hive.metastore.uris configuration.
Type |
string |
|---|---|
Default |
none |
Tags |
--server_thread_pool_max_thread_countMaximum number of threads to allow in each server-wide thread pool. If -1, Kudu will automatically calculate this value. It is an error to use a value of 0.
Type |
int32 |
|---|---|
Default |
|
Tags |
evolving,advanced |
--trusted_user_aclComma-separated list of trusted users who may access the cluster without being authorized against fine-grained permissions.
Type |
string |
|---|---|
Default |
none |
Tags |
sensitive |
--auto_leader_rebalancing_interval_secondsHow long to sleep in between auto leader rebalancing cycles, before checking the cluster again to see if there is leader skew and if run task again.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--auto_leader_rebalancing_rpc_timeout_secondsauto leader rebalancing send leader step down rpc timeout seconds
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--leader_rebalancing_ignore_soft_deleted_tablesWhether to ignore rebalancing the soft deleted tables
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--leader_rebalancing_max_moves_per_roundMax count of leader transfer when every leader rebalance runs
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--auto_rebalancing_interval_secondsHow long to sleep in between rebalancing cycles, before checking the cluster again to see if there is skew and rebalancing to be done.
Type |
uint32 |
|---|---|
Default |
|
Tags |
--auto_rebalancing_load_imbalance_thresholdThe threshold for the per-table location load imbalance. The threshold is used during the cross-location rebalancing phase. If the measured cross-location load imbalance for a table is greater than the specified threshold, the rebalancer tries to move table’s replicas to reduce the imbalance. The recommended range for the threshold is [0.5, …) with the default value of 1.0. The threshold represents a policy wrt what to prefer: either ideal balance of the cross-location load on per-table basis (lower threshold value) or minimum number of replica movements between locations (greater threshold value). The default value is empirically proven to be a good choice between 'ideal' and 'good enough' replica distributions.
Type |
double |
|---|---|
Default |
|
Tags |
--auto_rebalancing_max_moves_per_serverMaximum number of replica moves to perform concurrently on one tablet server: 'move from' and 'move to' are counted as separate move operations.
Type |
uint32 |
|---|---|
Default |
|
Tags |
--auto_rebalancing_rpc_timeout_secondsRPC timeout in seconds when making RPCs to request moving tablet replicas or to check if the replica movement has completed.
Type |
uint32 |
|---|---|
Default |
|
Tags |
--auto_rebalancing_wait_for_replica_moves_secondsHow long to wait before checking to see if the scheduled replica movement in this iteration of auto-rebalancing has completed.
Type |
uint32 |
|---|---|
Default |
|
Tags |
--catalog_manager_enable_chunked_tablet_reportsWhether to split the tablet report data received from one tablet server into chunks when persisting it in the system catalog. The chunking starts at around the maximum allowed RPC size controlled by the --rpc_max_message_size flag. When the chunking is disabled, a tablet report sent by a tablet server is rejected if it would result in an oversized update on the system catalog tablet. With the default settings for --rpc_max_message_size, the latter can happen only in case of extremely high number of tablet replicas per tablet server.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--default_deleted_table_reserve_secondsTime in seconds to be reserved before purging a deleted table for the table from DeleteTable request. Value 0 means DeleteTable() works the regular way, i.e. dropping the table and purging its data immediately. If it’s set to anything greater than 0, then all DeleteTable() RPCs are turned into SoftDeleteTable(…, FLAGS_default_deleted_table_reserve_seconds). NOTE : this flag make no sense for soft-delete function because the reserve_seconds has been specified by user while calling SoftDeleteTable.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--default_num_replicasDefault number of replicas for tables that do not have the num_replicas set.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--enable_per_range_hash_schemasWhether to support range-specific hash schemas for tables.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--enable_range_replica_placementWhether to use range aware replica placement for newly created tablets.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime |
--master_ts_rpc_timeout_msTimeout used for the master→TS async rpc calls.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--max_create_tablets_per_tsThe number of tablet replicas per TS that can be requested for a new table. If 0, no limit is enforced.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--min_num_replicasMinimum number of replicas that may be specified when creating a table: this is to enforce the minimum replication factor for tables created in a Kudu cluster. For example, setting this flag to 3 enforces every new table to have at least 3 replicas for each of its tablets, so there cannot be a data loss when a single tablet server fails irrecoverably.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--table_locations_cache_capacity_mbCapacity for the table locations cache (in MiB); a value of 0 means table locations are not be cached.
Type |
uint32 |
|---|---|
Default |
|
Tags |
advanced |
--table_locations_ttl_msMaximum time in milliseconds which clients may cache table locations. New range partitions may not be visible to existing client instances until after waiting for the ttl period.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tablet_creation_timeout_msTimeout used by the master when attempting to create tablet replicas during table creation.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--unresponsive_ts_rpc_timeout_msAfter this amount of time, the master will stop attempting to contact a tablet server in order to perform operations such as deleting a tablet.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--hive_metastore_notification_log_batch_sizeNumber of notification log entries which are retrieved from the Hive Metastore per batch when polling.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--hive_metastore_notification_log_poll_period_secondsAmount of time the notification log listener waits between attempts to poll the Hive Metastore for catalog updates.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--check_expired_table_interval_secondsInterval (in seconds) to check whether there is any soft_deleted table with expired reservation period. Such tables will be purged and cannot be recalled after that.
Type |
int32 |
|---|---|
Default |
|
Tags |
--ipki_private_key_password_cmdA Unix command whose output returns the password to encrypt and decrypt the IPKI root CA private key.
Type |
string |
|---|---|
Default |
none |
Tags |
--location_mapping_cmdA Unix command which takes a single argument, the IP address or hostname of a tablet server or client, and returns the location string for the tablet server. A location string begins with a / and consists of /-separated tokens each of which contains only characters from the set [a-zA-Z0-9_-.]. If the cluster is not using location awareness features this flag should not be set.
Type |
string |
|---|---|
Default |
none |
Tags |
--tsk_private_key_password_cmdA Unix command whose output returns the password to encrypt and decrypt the token signing key
Type |
string |
|---|---|
Default |
none |
Tags |
--master_auto_join_clusterWhether Kudu Masters should automatically attempt to join existing an existing cluster, specified by the master addresses
Type |
bool |
|---|---|
Default |
|
Tags |
runtime |
--master_auto_join_retry_interval_secsThe interval, in seconds, with which to retry checks to determine whether this Master should be added to a cluster.
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime |
--master_auto_join_rpc_timeout_secsThe amount of time, in seconds, to use as a timeout when sending RPCs to add this Master to a cluster.
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime |
--master_client_location_assignment_enabledWhether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--master_support_change_configWhether the master supports adding/removing master servers dynamically.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tserver_unresponsive_timeout_msThe period of time that a Master can go without receiving a heartbeat from a tablet server before considering it unresponsive. Unresponsive servers are not selected when assigning replicas during table creation or re-replication.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--ranger_kms_client_generate_key_max_retry_time_sThe maximum retry time for generating encryption keys using the Ranger KMS client. The maximum effective time for adding a new account to Apache Ranger is about 30 seconds, and the retry time for using the client to generate the key should be greater than this value.
Type |
int32 |
|---|---|
Default |
|
Tags |
--ranger_config_pathPath to directory containing Ranger client configuration. When set, Ranger integration is enabled, fine-grained access control is enforced, and clients are issued authorization tokens. In addition, both --ranger_java_path and --ranger_jar_path flags need to be set properly for Ranger integration to work.
Type |
string |
|---|---|
Default |
none |
Tags |
--ranger_crash_master_on_subprocess_failureWhether to crash the Master if the Ranger subprocess crashes.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--ranger_jar_pathPath to the JAR file containing the Ranger subprocess. If not specified, the default JAR file path is expected to be next to the master binary. It can be a colon-separated list of JARs. If it is, the paths are not verified and passed straight to Java.
Type |
string |
|---|---|
Default |
none |
Tags |
--ranger_java_extra_argsExtra JVM arguments to be passed to the Ranger subprocess.
Type |
string |
|---|---|
Default |
none |
Tags |
--ranger_java_pathPath where the Java binary was installed. If the value isn’t an absolute path (e.g. 'java'), it will be evaluated using the Kudu user’s PATH. If not specified, $JAVA_HOME/bin/java is used. If $JAVA_HOME is not found, Kudu will attempt to find 'java' in the Kudu user’s PATH.
Type |
string |
|---|---|
Default |
none |
Tags |
--ranger_log_config_dirDirectory in which to look for a kudu-ranger-subprocess-log4j2.properties file. If empty, will use the value of --log_dir. If such a file does not exist, a properties file will be created to honor Kudu’s logging configurations.
Type |
string |
|---|---|
Default |
none |
Tags |
evolving,advanced |
--ranger_log_levelLog level to use in the Ranger Java subprocess. Supports "all", "trace", "debug", "info", "warn", "error", "fatal", and "off"
Type |
string |
|---|---|
Default |
|
Tags |
evolving,advanced |
--ranger_logtostdoutWhether to have the Ranger subprocess log to stdout.
Type |
bool |
|---|---|
Default |
|
Tags |
evolving,advanced |
--ranger_overwrite_log_configWhether to overwrite any existing logging configuration file, if found.
Type |
bool |
|---|---|
Default |
|
Tags |
evolving,advanced |
--ranger_receiver_fifo_dirDirectory in which to create a fifo used to receive messages from the Ranger subprocess. Existing fifos at this path will be overwritten. If not specified, a fifo will be created in the --ranger_config_path directory.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--rpc_acceptor_listen_backlogSocket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. The value might be silently capped by the system-level limit on the listened socket’s backlog. The value of -1 has the semantics of the longest possible queue with the length up to the system-level limit. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_listen_socket_stats_every_log2Listening RPC socket’s statistics sampling frequency. With --rpc_listen_socket_stats_every_log2=N, the statistics are sampled every 2^N connection request by each acceptor thread. Set this flag to -1 to disable statistics collection on the listening RPC socket.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_encrypt_loopback_connectionsWhether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--rpc_callback_max_cyclesThe maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tcp_keepalive_probe_period_sThe duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tcp_keepalive_retry_countThe maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tcp_keepalive_retry_period_sThe duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--remember_clients_ttl_msMaximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--remember_responses_ttl_msMaximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_dump_all_tracesIf true, dump all RPC traces at INFO level
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--rpc_duration_too_long_msThreshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--trusted_subnetsA trusted subnet whitelist. If set explicitly, all unauthenticated or unencrypted connections are prohibited except the ones from the specified address blocks. Otherwise, private network (127.0.0.0/8, etc.) and local subnets of all local network interfaces will be used. Set it to '0.0.0.0/0' to allow unauthenticated/unencrypted connections from all remote IP addresses. However, if network access is not otherwise restricted by a firewall, malicious users may be able to gain unauthorized access.
Type |
string |
|---|---|
Default |
|
Tags |
evolving,advanced |
--rpc_max_message_sizeThe maximum size of a message that any RPC that the server will accept. Must be at least 1MB.
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--spnego_keytab_fileAbsolute path to Kerberos keytab file for HTTP SPNEGO. If it is empty, --keytab_file flag will be used.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--use_system_auth_to_localWhen enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--metrics_default_levelThe default severity level to use when filtering the metrics, both in JSON and Prometheus formats. Valid choices are 'debug', 'info', and 'warn'. The levels are ordered and lower levels include the levels above them. This value can be overridden by passing the level query parameter to the '/metrics' endpoint when fetching metrics in JSON format.
Type |
string |
|---|---|
Default |
|
Tags |
evolving,advanced,runtime |
--web_log_bytesThe maximum number of bytes to display on the debug webserver’s log page
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--disable_gflag_filter_logic_for_testingWhether to disable filter logic on the server side for test purpose.
Type |
bool |
|---|---|
Default |
|
Tags |
--rpc_advertised_addressesComma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--rpc_num_acceptors_per_addressNumber of RPC acceptor threads for each bound address
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_service_queue_lengthDefault length of queue for incoming RPC requests
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--gc_tcmalloc_memory_interval_secondsInterval seconds to GC tcmalloc memory, 0 means disabled.
Type |
uint64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--max_negotiation_threadsMaximum number of connection negotiation threads.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--min_negotiation_threadsMinimum number of connection negotiation threads.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_authenticationWhether to require RPC connections to authenticate. Must be one of 'disabled', 'optional', or 'required'. If 'optional', authentication will be used when the remote end supports it. If 'required', connections which are not able to authenticate (because the remote end lacks support) are rejected. Secure clusters should use 'required'.
Type |
string |
|---|---|
Default |
|
Tags |
evolving |
--rpc_default_keepalive_time_msIf an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_encryptionWhether to require RPC connections to be encrypted. Must be one of 'disabled', 'optional', or 'required'. If 'optional', encryption will be used when the remote end supports it. If 'required', connections which are not able to use encryption (because the remote end lacks support) are rejected. If 'disabled', encryption will not be used, and RPC authentication (--rpc_authentication) must also be disabled as well. Secure clusters should use 'required'.
Type |
string |
|---|---|
Default |
|
Tags |
evolving |
--rpc_negotiation_timeout_msTimeout for negotiating an RPC connection, in milliseconds
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_private_key_password_cmdA Unix command whose output returns the password used to decrypt the RPC server’s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.
Type |
string |
|---|---|
Default |
none |
Tags |
--rpc_tls_ciphersTLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--rpc_tls_ciphersuitesTLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--rpc_tls_min_protocolThe minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--server_max_open_filesMaximum number of open file descriptors. If 0, Kudu will automatically calculate this value. This is a soft limit
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced |
--webserver_enabledWhether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--metrics_log_interval_msInterval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--webserver_cache_control_optionsThe webserver adds 'Cache-Control' HTTP header with this value to all responses.
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_enable_cspThe webserver adds the Content-Security-Policy header to response when enabled.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_hsts_include_sub_domainsWhether to add 'includeSubDomains' directive into the 'Strict-Transport-Security' header when the latter is enabled. See --webserver_hsts_max_age_seconds’s description for details.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_hsts_max_age_secondsThe time, in seconds, that a browser should remember that the webserver must only be accessed using HTTPS. The HTTP Strict Transport Security (HSTS) policy is implemented by adding a 'Strict-Transport-Security' header. If greater or equal to zero, a TLS-enabled webserver adds the HSTS header with corresponding 'max-age' setting to the response. If the setting is negative, the HSTS header is not present in the response. As an option, it is possible to add 'includeSubDomains' directive as specified by the --webserver_hsts_include_sub_domains flag. WARNING: once enabled, the HSTS policy affects everything at the node/domain, so any HTTP endpoint at the node/domain effectively becomes unreachable to the browser which has reached the embedded webserver at this node via HTTPS
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_max_post_length_bytesThe maximum length of a POST request that will be accepted by the embedded web server.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_x_content_type_optionsThe webserver adds 'X-Content-Type-Options' HTTP header with this value to all responses.
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_x_frame_optionsThe webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_advertised_addressesComma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--webserver_authentication_domainDomain used for the authentication by the embedded webserver
Type |
string |
|---|---|
Default |
none |
Tags |
--webserver_doc_rootFiles under <webserver_doc_root> are accessible via the embedded webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--webserver_enable_doc_rootIf true, webserver may serve static files from the webserver_doc_root
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--webserver_interfaceInterface to start the embedded webserver on. If blank, the webserver binds to 0.0.0.0
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--webserver_num_worker_threadsMaximum number of threads to start for handling webserver requests
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--webserver_password_fileLocation of .htpasswd file containing user names and hashed passwords for the authentication performed by the embedded webserver (NOTE: for better protection, consider configuring SPNEGO using the --webserver_require_spnego flag)
Type |
string |
|---|---|
Default |
none |
Tags |
sensitive |
--webserver_tls_ciphersThe cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--webserver_tls_min_protocolThe minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--subprocess_deadline_checking_interval_msInterval in milliseconds at which Kudu will check the deadlines of in-flight calls to the subprocess
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced,runtime |
--subprocess_max_message_size_bytesMaximum payload size for a message in protobuf format the subprocess server accepts from a subprocess (i.e. its child), in bytes, 0 means unlimited. If a subprocess sends a message with bigger payload than the specified limit, the server rejects the message and responds with AppStatusPB::IO_ERROR error code. This setting is not effective for messages in JSON format.
Type |
uint32 |
|---|---|
Default |
|
Tags |
advanced |
--subprocess_num_responder_threadsNumber of threads that will be dedicated to reading responses from the inbound queue and returning to callers
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--subprocess_queue_full_retry_msNumber of milliseconds between attempts to enqueue the request to the subprocess
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced,runtime |
--subprocess_request_queue_size_bytesMaximum size in bytes of the outbound request queue. This is best effort: if a single request is larger than this, it is still added to the queue
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--subprocess_response_queue_size_bytesMaximum size in bytes of the inbound response queue. This is best effort: if a single request is larger than this, it is still added to the queue
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--subprocess_timeout_secsNumber of seconds a call to the subprocess is allowed to take before a timeout error is returned to the calling process
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--compaction_minimum_improvementThe minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--all_delete_op_delta_file_cnt_for_compactionThe minimum number of REDO delta files containing only ancient DELETE operations to schedule a major delta compaction on them. A DELETE operation is considered ancient if it was applied more than --tablet_history_max_age_sec seconds ago. With the default setting, this behavior is effectively disabled; see KUDU-3619 for details.
Type |
uint64 |
|---|---|
Default |
|
Tags |
--tablet_transaction_memory_limit_mbMaximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--enable_gc_deleted_rowsets_without_live_row_countWhether to enable 'DeletedRowsetGCOp' for ancient, fully deleted rowsets without live row count stats. This is used to release the storage space of ancient, fully deleted rowsets generated by Kudu clusters that do not have live row count stats. If live row count feature is already supported in your kudu cluster, just ignore this flag.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--rowset_compaction_ancient_delta_max_ratioThe ratio of data in ancient UNDO deltas to the total amount of data in all deltas across rowsets picked for rowset merge compaction used as a threshold to determine whether to run the operation when --rowset_compaction_ancient_delta_max_ratio is set to 'true'. If the ratio is greater than the threshold defined by this flag, CompactRowSetsOp operations are postponed until UndoDeltaBlockGCOp purges enough of ancient UNDO deltas.
Type |
double |
|---|---|
Default |
|
Tags |
runtime,advanced |
--rowset_compaction_ancient_delta_threshold_enabledWhether to check the ratio of data in ancient UNDO deltas against the threshold set by --rowset_compaction_ancient_delta_max_ratio before running rowset merge compaction. If the ratio of ancient data in UNDO deltas is greater than the threshold, postpone running CompactRowSetsOp until UndoDeltaBlockGCOp purges ancient data and the ratio drops below the threshold (NOTE: regardless of the setting, the effective value of this flag becomes 'false' if --enable_undo_delta_block_gc is set to 'false')
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tablet_bloom_block_sizeBlock size of the bloom filters used for tablet keys.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tablet_bloom_target_fp_rateTarget false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--enable_deleted_rowset_gcWhether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime |
--undo_delta_block_gc_init_budget_millisThe maximum number of milliseconds we will spend initializing UNDO delta blocks per invocation of UndoDeltaBlockGCOp. Existing delta blocks must be initialized once per process startup to determine when they can be deleted.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced,evolving |
--txn_client_initialization_timeout_msAmount of time Kudu will try to initialize a client with which to perform transaction commit tasks.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime |
--txn_system_client_op_timeout_msOp timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--heartbeat_incompatible_replica_management_is_fatalWhether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--heartbeat_interval_msInterval at which the TS heartbeats to the master.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--heartbeat_max_failures_before_backoffMaximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--heartbeat_rpc_timeout_msTimeout used for the TS→Master heartbeat RPCs.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tserver_send_tombstoned_tablets_report_inteval_secsTime interval in seconds of sending a incremental tablets report to delete the tombstoned replicas whose tablets had already been deleted. Turn off this by setting it to a value less than 0. If this interval is set to less than the heartbeat interval, the tablets report will only be sent at the heartbeat interval. And also, please set this interval less than the flag metadata_for_deleted_table_and_tablet_reserved_secs of master if enable_metadata_cleanup_for_deleted_tables_and_tablets is set true. Otherwise, the tombstoned tablets probably could not be deleted.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime |
--scanner_ttl_msNumber of milliseconds of inactivity allowed for a scanner before it may be expired
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--show_slow_scansWhether to report on 'slow' scans at the /scans WebUI page and in the INFO log. If enabled, well performing full table scans and scans run by lazily-fetching clients may be reported as 'slow' depending on the --slow_scanner_threshold_ms setting.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--slow_scanner_threshold_msNumber of milliseconds for the threshold of slow scan.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tablet_copy_begin_session_timeout_msTablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tablet_copy_download_threads_nums_per_sessionNumber of threads per tablet copy session for downloading tablet data blocks.
Type |
int32 |
|---|---|
Default |
|
Tags |
--tablet_copy_support_download_superblock_in_batchWhether to support download superblock in batch automatically when it is very large.When superblock is small, it can be downloaded once a time.
Type |
bool |
|---|---|
Default |
|
Tags |
--tablet_copy_throttler_burst_factorBurst factor for tablet copy throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate. The default value is 1.0, which means the maximun rate is equals to --tablet_copy_throttler_bytes_per_sec.
Type |
double |
|---|---|
Default |
|
Tags |
--tablet_copy_throttler_bytes_per_secLimit tablet copying speed. It limits the copying speed of all the tablets in one server for one session. The default value is 0, which means not limiting the speed. The unit is bytes/seconds
Type |
int64 |
|---|---|
Default |
|
Tags |
--tablet_copy_idle_timeout_secAmount of time without activity before a tablet copy session will expire, in seconds
Type |
uint64 |
|---|---|
Default |
|
Tags |
evolving,advanced |
--scanner_batch_size_rowsThe number of rows to batch for servicing scan requests.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--scanner_default_batch_size_bytesThe default size for batches of scan results
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--scanner_max_batch_size_bytesThe maximum batch size that a client may request for scan results.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--scanner_max_wait_msThe maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for waiting longer.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tserver_enforce_access_controlIf set, the server will apply fine-grained access control rules to client RPCs.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime |
--num_tablets_to_copy_simultaneouslyNumber of threads available to copy tablets from remote servers.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--num_tablets_to_delete_simultaneouslyNumber of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--num_tablets_to_open_simultaneouslyNumber of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--num_txn_status_tablets_to_reload_simultaneouslyNumber of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tablet_state_walk_min_period_msMinimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--txn_commit_pool_num_threadsNumber of threads available for transaction commit tasks.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--update_tablet_stats_interval_msInterval at which the tablet statistics should be updated. Should be greater than 'heartbeat_interval_ms'
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--cloud_aws_instance_id_urlThe URL to fetch the identifier of an AWS instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_aws_ntp_serverIP address/FQDN of the internal NTP server to use from within an AWS instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_azure_instance_id_urlThe URL to fetch the identifier of an Azure instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_gce_instance_id_urlThe URL to fetch the identifier of a GCE instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_gce_ntp_serverIP address/FQDN of the internal NTP server to use from within a GCE instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_metadata_server_request_timeout_msTimeout for HTTP/HTTPS requests to the instance metadata server (in milliseconds)
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_openstack_metadata_urlThe URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--trusted_certificate_filePath to a file that contains certificate(s) (in PEM format) to trust when Kudu establishes a TLS-protected connection to HTTP/HTTPS server (e.g., KMS service, JWKS server, etc.)
Type |
string |
|---|---|
Default |
none |
Tags |
--encrypt_data_at_restWhether sensitive files should be encrypted on the file system.
Type |
bool |
|---|---|
Default |
|
Tags |
--env_use_fsyncUse fsync(2) instead of fdatasync(2) for synchronizing dirty data to disk.
Type |
bool |
|---|---|
Default |
|
Tags |
evolving,advanced |
--file_cache_expiry_period_msPeriod of time (in ms) between removing expired file cache descriptors
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--disable_core_dumpsDisable core dumps when this process crashes.
Type |
bool |
|---|---|
Default |
|
Tags |
evolving,advanced |
--redactComma-separated list that controls redaction context. Supported options are 'all','log', and 'none'. If 'all' is specified, sensitive data (sensitive configuration flags and row data) will be redacted from the web UI as well as glog and error messages. If 'log' is specified, sensitive data will only be redacted from glog and error messages. If 'none' is specified, no redaction will occur.
Type |
string |
|---|---|
Default |
|
Tags |
evolving,advanced |
--umaskThe umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--jwks_pulling_timeout_sThe time in seconds for connection timed out when pulling JWKS from the specified URL.
Type |
int32 |
|---|---|
Default |
|
Tags |
--jwks_update_frequency_sThe time in seconds to wait between downloading JWKS from the specified URL.
Type |
int32 |
|---|---|
Default |
|
Tags |
--metrics_retirement_age_msThe minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced,runtime |
--enable_minidumpsWhether to enable minidump generation upon process crash or SIGUSR1. Currently only supported on Linux systems.
Type |
bool |
|---|---|
Default |
|
Tags |
evolving,advanced |
--max_minidumpsMaximum number of minidump files to keep per daemon. Older files are removed first. Set to 0 to keep all minidump files.
Type |
int32 |
|---|---|
Default |
|
Tags |
evolving |
--minidump_pathDirectory to write minidump files to. This can be either an absolute path or a path relative to --log_dir. Each daemon will create an additional sub-directory to prevent naming conflicts and to make it easier to identify a crashing daemon. Minidump files contain crash-related information in a compressed format. Minidumps will be written when a daemon exits unexpectedly, for example on an unhandled exception or signal, or when a SIGUSR1 signal is sent to the process. Cannot be set to an empty value.
Type |
string |
|---|---|
Default |
|
Tags |
evolving |
--minidump_size_limit_hint_kbSize limit hint for minidump files in KB. If a minidump exceeds this value, then breakpad will reduce the stack memory it collects for each thread from 8KB to 2KB. However it will always include the full stack memory for the first 20 threads, including the thread that crashed.
Type |
int32 |
|---|---|
Default |
|
Tags |
evolving,advanced |
--dns_resolver_cache_capacity_mbCapacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.
Type |
uint32 |
|---|---|
Default |
|
Tags |
advanced |
--dns_resolver_cache_ttl_secTTL of records in the DNS resolver cache, in seconds.
Type |
uint32 |
|---|---|
Default |
|
Tags |
advanced |
--dns_resolver_max_threads_numThe maximum number of threads to use for async DNS resolution
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--host_for_testsHost to use when resolving a given server’s locally bound or advertised addresses.
Type |
string |
|---|---|
Default |
none |
Tags |
--nvm_cache_pathThe path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.
Type |
string |
|---|---|
Default |
|
Tags |
--nvm_cache_usage_ratioA ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--memory_limit_soft_percentagePercentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher soft limit.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--memory_limit_warn_threshold_percentagePercentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--memory_pressure_percentagePercentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tcmalloc_max_free_bytes_percentageMaximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--colorlogtostdoutcolor messages logged to stdout (if supported by terminal)
Type |
bool |
|---|---|
Default |
|
Tags |
--drop_log_memoryDrop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--log_backtrace_atEmit a backtrace when logging at file:linenum.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--logbuflevelBuffer log messages logged at this level or lower (-1 means don’t buffer; 0 means buffer INFO only; …)
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--logbufsecsBuffer log messages for at most this many seconds
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--timestamp_in_logfile_nameput a timestamp at the end of the log file name
Type |
bool |
|---|---|
Default |
|
Tags |
kudu-tserver FlagsFlags tagged stable and not advanced are safe to use for common
configuration tasks.
--builtin_ntp_serversComma-separated list of NTP servers for the built-in NTP client, each in format <FQDN|IP>[:PORT]. This list will be used in one of the following cases: (A) the built-in NTP client is explicitly set as the time source (i.e. --time_source=builtin) (B) the 'auto' pseudo-source for time is used and the cloud instance detector isn’t aware about any preferred NTP servers provided by the environment.
Type |
string |
|---|---|
Default |
|
Tags |
stable |
--time_sourceThe time source that HybridClock should use. Must be one of auto, builtin, system, system_unsync (toy clusters/testing only), mock (testing only). When set to auto, the system automatically picks one of the following depending on the environment: builtin, system, system_unsync, where in case of picking builtin the built-in NTP client is configured with dedicated NTP server(s) provided by the environment.
Type |
string |
|---|---|
Default |
|
Tags |
stable |
--log_force_fsync_allWhether the Log/WAL should explicitly call fsync() after each write.
Type |
bool |
|---|---|
Default |
|
Tags |
stable |
--fs_data_dirsComma-separated list of directories with data blocks. If this is not specified, fs_wal_dir will be used as the sole data block directory.
Type |
string |
|---|---|
Default |
none |
Tags |
stable |
--fs_metadata_dirDirectory with metadata. If this is not specified, for compatibility with Kudu 1.6 and below, Kudu will check the first entry of fs_data_dirs for metadata and use it as the metadata directory if any exists. If none exists, fs_wal_dir will be used as the metadata directory.
Type |
string |
|---|---|
Default |
none |
Tags |
stable |
--fs_wal_dirDirectory with write-ahead logs. If this is not specified, the program will not start. May be the same as fs_data_dirs
Type |
string |
|---|---|
Default |
none |
Tags |
stable |
--keytab_filePath to the Kerberos Keytab file for this server. Specifying a keytab file will cause the server to kinit, and enable Kerberos to be used to authenticate RPC connections.
Type |
string |
|---|---|
Default |
none |
Tags |
stable |
--rpc_bind_addressesComma-separated list of addresses to bind to for RPC connections. Currently, ephemeral ports (i.e. port 0) are not allowed.
Type |
string |
|---|---|
Default |
|
Tags |
stable |
--superuser_aclThe list of usernames to allow as super users, comma-separated. A '*' entry indicates that all authenticated users are allowed. If this is left unset or blank, the default behavior is that the identity of the daemon itself determines the superuser. If the daemon is logged in from a Keytab, then the local username from the Kerberos principal is used; otherwise, the local Unix username is used.
Type |
string |
|---|---|
Default |
none |
Tags |
sensitive,stable |
--user_aclThe list of usernames who may access the cluster, comma-separated. A '*' entry indicates that all authenticated users are allowed.
Type |
string |
|---|---|
Default |
|
Tags |
sensitive,stable |
--webserver_certificate_fileThe location of the embedded webserver’s TLS/SSL certificate file, in PEM format. If empty, webserver TLS/SSL support is not enabled. If --webserver_private_key_file is set, this option must be set as well.
Type |
string |
|---|---|
Default |
none |
Tags |
stable |
--webserver_private_key_fileThe full path to the private key used as a counterpart to the public key contained in --webserver_certificate_file. This flag must be set if the --webserver_certificate_file flag is set.
Type |
string |
|---|---|
Default |
none |
Tags |
stable,sensitive |
--webserver_private_key_password_cmdA Unix command whose output returns the password to decrypt the private key of the webserver’s certificate pointed to by the --webserver_private_key_file flag. If the PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key
Type |
string |
|---|---|
Default |
none |
Tags |
stable,sensitive |
--webserver_require_spnegoRequire connections to the webserver to authenticate via Kerberos using SPNEGO.
Type |
bool |
|---|---|
Default |
|
Tags |
stable |
--tserver_master_addrsComma separated addresses of the masters which the tablet server should connect to. The masters do not read this flag — configure the masters separately using 'rpc_bind_addresses'.
Type |
string |
|---|---|
Default |
|
Tags |
stable |
--log_filenamePrefix of log filename - full path is <log_dir>/<log_filename>.[INFO|WARN|ERROR|FATAL]
Type |
string |
|---|---|
Default |
none |
Tags |
stable |
--max_log_filesMaximum number of log files to retain per severity level. The most recent log files are retained. If set to 0, all log files are retained.
Type |
int32 |
|---|---|
Default |
|
Tags |
stable,runtime |
--maintenance_manager_num_threadsSize of the maintenance manager thread pool. For spinning disks, the number of threads should not be above the number of devices.
Type |
int32 |
|---|---|
Default |
|
Tags |
stable |
--memory_limit_hard_bytesMaximum amount of memory this daemon should use, in bytes. A value of 0 autosizes based on the total system memory. A value of -1 disables all memory limiting.
Type |
int64 |
|---|---|
Default |
|
Tags |
stable |
--helpshow help on all flags [tip: all flags can have two dashes]
Type |
bool |
|---|---|
Default |
|
Tags |
stable |
--colorlogtostderrcolor messages logged to stderr (if supported by terminal)
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,stable |
--log_dirIf specified, logfiles are written into this directory instead of the default logging directory.
Type |
string |
|---|---|
Default |
none |
Tags |
stable |
--logtostderrlog messages go to stderr instead of logfiles
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,stable |
--max_log_sizeapprox. maximum log file size (in MB). A value of 0 will be silently overridden to 1.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,stable |
Flags tagged stable and advanced are supported, but should be considered
"expert" options and should be used carefully and after thorough testing.
--principalKerberos principal that this daemon will log in as. The special token _HOST will be replaced with the FQDN of the local host.
Type |
string |
|---|---|
Default |
|
Tags |
stable,advanced |
--tablet_history_max_age_secNumber of seconds to retain tablet history, including history required to perform diff scans and incremental backups. Reads initiated at a snapshot that is older than this age will be rejected. To disable history removal, set to -1.
Type |
int32 |
|---|---|
Default |
|
Tags |
stable,advanced,runtime |
--enable_process_lifetime_heap_profilingEnables heap profiling for the lifetime of the process. Profile output will be stored in the directory specified by -heap_profile_path.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced,stable |
--heap_profile_pathOutput path to store heap profiles. If not set profiles are stored in /tmp/<process-name>.<pid>.<n>.heap.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced,stable |
--unlock_experimental_flagsUnlock flags marked as 'experimental'. These flags are not guaranteed to be maintained across releases of Kudu, and may enable features or behavior known to be unstable. Use at your own risk.
Type |
bool |
|---|---|
Default |
|
Tags |
stable,advanced |
--unlock_unsafe_flagsUnlock flags marked as 'unsafe'. These flags are not guaranteed to be maintained across releases of Kudu, and enable features or behavior known to be unsafe. Use at your own risk.
Type |
bool |
|---|---|
Default |
|
Tags |
stable,advanced |
--fromenvset flags from the environment [use 'export FLAGS_flag1=value']
Type |
string |
|---|---|
Default |
none |
Tags |
advanced,stable |
--tryfromenvset flags from the environment if present
Type |
string |
|---|---|
Default |
none |
Tags |
advanced,stable |
--undefokcomma-separated list of flag names that it is okay to specify on the command line even if the program does not define a flag with that name. IMPORTANT: flags in this list that have arguments MUST use the flag=value format
Type |
string |
|---|---|
Default |
none |
Tags |
advanced,stable |
--helpmatchshow help on modules whose name contains the specified substr
Type |
string |
|---|---|
Default |
none |
Tags |
advanced,stable |
--helponshow help on the modules named by this flag value
Type |
string |
|---|---|
Default |
none |
Tags |
advanced,stable |
--helppackageshow help on all modules in the main package
Type |
bool |
|---|---|
Default |
|
Tags |
advanced,stable |
--helpshortshow help on only the main module for this program
Type |
bool |
|---|---|
Default |
|
Tags |
advanced,stable |
--log_linkPut additional links to the log files in this directory
Type |
string |
|---|---|
Default |
none |
Tags |
advanced,stable |
--log_prefixPrepend the log prefix to the start of each log line
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,stable,advanced |
--minloglevelMessages logged at a lower level than this don’t actually get logged anywhere
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,stable,advanced |
--stderrthresholdlog messages at or above this level are copied to stderr in addition to logfiles. This flag obsoletes --alsologtostderr.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,stable,advanced |
--stop_logging_if_full_diskStop attempting to log to disk if the disk is full.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,stable,advanced |
--symbolize_stacktraceSymbolize the stack trace in the tombstone
Type |
bool |
|---|---|
Default |
|
Tags |
advanced,stable,runtime |
--vShow all VLOG(m) messages for m ⇐ this. Overridable by --vmodule.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,stable,advanced |
--vmoduleper-module verbose level. Argument is a comma-separated list of <module name>=<log level>. <module name> is a glob pattern, matched against the filename base (that is, name ignoring .cc/.h./-inl.h). <log level> overrides any value given by --v.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced,stable |
Flags tagged evolving (or not tagged with a stability tag) are not yet
considered final, and while they may be useful for tuning, they are subject to
being changed or removed without notice.
--block_cache_typeWhich type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.
Type |
string |
|---|---|
Default |
|
Tags |
--cfile_verify_checksumsVerify the checksum for each block on read if one exists
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,evolving |
--cfile_default_block_sizeThe default block size to use in cfiles
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--cfile_default_compression_codecDefault cfile block compression codec.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--client_tablet_locations_by_id_ttl_msMaximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--show_attributesWhether to show column attributes, including column encoding type, compression type, and default read/write value.
Type |
bool |
|---|---|
Default |
|
Tags |
--builtin_ntp_client_bind_addressLocal address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--builtin_ntp_poll_interval_msThe time between successive polls of a single NTP server (in milliseconds)
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--max_clock_sync_error_usecMaximum allowed clock synchronization error as reported by NTP before the server will abort.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--ntp_initial_sync_wait_secsAmount of time in seconds to wait for clock synchronisation at startup. A value of zero means Kudu will fail to start if the clock is unsynchronized. This flag can prevent Kudu from crashing if it starts before NTP can synchronize the clock.
Type |
int32 |
|---|---|
Default |
|
Tags |
evolving,advanced |
--predicate_effectivess_enabledShould ineffective predicate filtering be disabled
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--predicate_effectivess_num_skip_blocksNumber of blocks to skip for every predicate effectiveness check
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--predicate_effectivess_reject_ratioRejection ratio below which predicate filter is considered ineffective
Type |
double |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cmeta_force_fsyncWhether fsync() should be called when consensus metadata files are updated
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--consensus_rpc_timeout_msTimeout used for all consensus internal RPC communications.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--consensus_max_batch_size_bytesThe maximum per-tablet RPC batch size when updating peers.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--follower_unavailable_considered_failed_secSeconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--fs_wal_use_file_cacheWhether to use the server-wide file cache for WAL segments and WAL index chunks.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced,runtime |
--group_commit_queue_size_bytesMaximum size of the group commit queue in bytes
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--log_min_segments_to_retainThe minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced,runtime |
--global_log_cache_size_limit_mbServer-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--log_cache_size_limit_mbThe total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--log_async_preallocate_segmentsWhether the WAL segments preallocation should happen asynchronously
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--log_preallocate_segmentsWhether the WAL should preallocate the entire segment before writing to it
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--evict_failed_followersWhether to evict followers from the Raft config that have fallen too far behind the leader’s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--leader_failure_max_missed_heartbeat_periodsMaximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--raft_heartbeat_interval_msThe heartbeat interval 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.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--safe_time_advancement_without_writesWhether to enable the advancement of "safe" time in the absense of write operations
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--fs_data_dirs_available_space_cache_secondsTTL for the cached metric of the available disk space in the data directories, in seconds
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced,evolving |
--fs_data_dirs_consider_available_spaceWhether to consider available space when selecting a data directory during tablet or data block creation.
Type |
bool |
|---|---|
Default |
|
Tags |
evolving,runtime |
--fs_data_dirs_reserved_bytesNumber of bytes to reserve on each data directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported
Type |
int64 |
|---|---|
Default |
|
Tags |
evolving,runtime |
--fs_max_thread_count_per_data_dirMaximum work thread per data directory.
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced |
--fs_target_data_dirs_per_tabletIndicates the target number of data dirs to spread each tablet’s data across. If greater than the number of data dirs available, data will be striped across those available. A value of 0 indicates striping should occur across all healthy data dirs. Using fewer data dirs per tablet means a single drive failure will be less likely to affect a given tablet.
Type |
int32 |
|---|---|
Default |
|
Tags |
evolving,advanced |
--fs_wal_dir_available_space_cache_secondsTTL for the cached metric of the available disk space in the WAL directories, in seconds
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced,evolving |
--block_managerWhich block manager to use for storage. Valid options are 'file', 'log' and 'logr'. The 'file' block manager is not suitable for production use due to scaling limitations.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--encryption_cluster_key_nameName of the cluster key that is used to encrypt server encryption keys as stored in Ranger KMS.
Type |
string |
|---|---|
Default |
|
Tags |
--encryption_key_providerKey provider implementation to generate and decrypt server keys. Valid values are: 'default' (not for production usage), and 'ranger-kms'.
Type |
string |
|---|---|
Default |
|
Tags |
--fs_wal_dir_reserved_bytesNumber of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime |
--ranger_kms_urlComma-separated list of Ranger KMS server URLs. Must be set when 'encryption_key_provider' is set to 'ranger-kms'.
Type |
string |
|---|---|
Default |
none |
Tags |
--log_container_excess_space_before_cleanup_fractionAdditional fraction of a log container’s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--log_container_max_blocksMaximum number of blocks (soft) of a log container. Use 0 for no limit. Use -1 for no limit except in the case of a kernel bug with hole punching on ext4 (see KUDU-1508 for details).
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--log_container_max_sizeMaximum size (soft) of a log container
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced |
--log_container_preallocate_bytesNumber of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced |
--server_thread_pool_max_thread_countMaximum number of threads to allow in each server-wide thread pool. If -1, Kudu will automatically calculate this value. It is an error to use a value of 0.
Type |
int32 |
|---|---|
Default |
|
Tags |
evolving,advanced |
--ranger_kms_client_generate_key_max_retry_time_sThe maximum retry time for generating encryption keys using the Ranger KMS client. The maximum effective time for adding a new account to Apache Ranger is about 30 seconds, and the retry time for using the client to generate the key should be greater than this value.
Type |
int32 |
|---|---|
Default |
|
Tags |
--rpc_acceptor_listen_backlogSocket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. The value might be silently capped by the system-level limit on the listened socket’s backlog. The value of -1 has the semantics of the longest possible queue with the length up to the system-level limit. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_listen_socket_stats_every_log2Listening RPC socket’s statistics sampling frequency. With --rpc_listen_socket_stats_every_log2=N, the statistics are sampled every 2^N connection request by each acceptor thread. Set this flag to -1 to disable statistics collection on the listening RPC socket.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_encrypt_loopback_connectionsWhether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--rpc_callback_max_cyclesThe maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tcp_keepalive_probe_period_sThe duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tcp_keepalive_retry_countThe maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tcp_keepalive_retry_period_sThe duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--remember_clients_ttl_msMaximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--remember_responses_ttl_msMaximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_dump_all_tracesIf true, dump all RPC traces at INFO level
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--rpc_duration_too_long_msThreshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--trusted_subnetsA trusted subnet whitelist. If set explicitly, all unauthenticated or unencrypted connections are prohibited except the ones from the specified address blocks. Otherwise, private network (127.0.0.0/8, etc.) and local subnets of all local network interfaces will be used. Set it to '0.0.0.0/0' to allow unauthenticated/unencrypted connections from all remote IP addresses. However, if network access is not otherwise restricted by a firewall, malicious users may be able to gain unauthorized access.
Type |
string |
|---|---|
Default |
|
Tags |
evolving,advanced |
--rpc_max_message_sizeThe maximum size of a message that any RPC that the server will accept. Must be at least 1MB.
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--spnego_keytab_fileAbsolute path to Kerberos keytab file for HTTP SPNEGO. If it is empty, --keytab_file flag will be used.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--use_system_auth_to_localWhen enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--metrics_default_levelThe default severity level to use when filtering the metrics, both in JSON and Prometheus formats. Valid choices are 'debug', 'info', and 'warn'. The levels are ordered and lower levels include the levels above them. This value can be overridden by passing the level query parameter to the '/metrics' endpoint when fetching metrics in JSON format.
Type |
string |
|---|---|
Default |
|
Tags |
evolving,advanced,runtime |
--web_log_bytesThe maximum number of bytes to display on the debug webserver’s log page
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--disable_gflag_filter_logic_for_testingWhether to disable filter logic on the server side for test purpose.
Type |
bool |
|---|---|
Default |
|
Tags |
--rpc_advertised_addressesComma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--rpc_num_acceptors_per_addressNumber of RPC acceptor threads for each bound address
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_service_queue_lengthDefault length of queue for incoming RPC requests
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--gc_tcmalloc_memory_interval_secondsInterval seconds to GC tcmalloc memory, 0 means disabled.
Type |
uint64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--max_negotiation_threadsMaximum number of connection negotiation threads.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--min_negotiation_threadsMinimum number of connection negotiation threads.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_authenticationWhether to require RPC connections to authenticate. Must be one of 'disabled', 'optional', or 'required'. If 'optional', authentication will be used when the remote end supports it. If 'required', connections which are not able to authenticate (because the remote end lacks support) are rejected. Secure clusters should use 'required'.
Type |
string |
|---|---|
Default |
|
Tags |
evolving |
--rpc_default_keepalive_time_msIf an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_encryptionWhether to require RPC connections to be encrypted. Must be one of 'disabled', 'optional', or 'required'. If 'optional', encryption will be used when the remote end supports it. If 'required', connections which are not able to use encryption (because the remote end lacks support) are rejected. If 'disabled', encryption will not be used, and RPC authentication (--rpc_authentication) must also be disabled as well. Secure clusters should use 'required'.
Type |
string |
|---|---|
Default |
|
Tags |
evolving |
--rpc_negotiation_timeout_msTimeout for negotiating an RPC connection, in milliseconds
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_private_key_password_cmdA Unix command whose output returns the password used to decrypt the RPC server’s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.
Type |
string |
|---|---|
Default |
none |
Tags |
--rpc_tls_ciphersTLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--rpc_tls_ciphersuitesTLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--rpc_tls_min_protocolThe minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--server_max_open_filesMaximum number of open file descriptors. If 0, Kudu will automatically calculate this value. This is a soft limit
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced |
--webserver_enabledWhether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--metrics_log_interval_msInterval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--webserver_cache_control_optionsThe webserver adds 'Cache-Control' HTTP header with this value to all responses.
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_enable_cspThe webserver adds the Content-Security-Policy header to response when enabled.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_hsts_include_sub_domainsWhether to add 'includeSubDomains' directive into the 'Strict-Transport-Security' header when the latter is enabled. See --webserver_hsts_max_age_seconds’s description for details.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_hsts_max_age_secondsThe time, in seconds, that a browser should remember that the webserver must only be accessed using HTTPS. The HTTP Strict Transport Security (HSTS) policy is implemented by adding a 'Strict-Transport-Security' header. If greater or equal to zero, a TLS-enabled webserver adds the HSTS header with corresponding 'max-age' setting to the response. If the setting is negative, the HSTS header is not present in the response. As an option, it is possible to add 'includeSubDomains' directive as specified by the --webserver_hsts_include_sub_domains flag. WARNING: once enabled, the HSTS policy affects everything at the node/domain, so any HTTP endpoint at the node/domain effectively becomes unreachable to the browser which has reached the embedded webserver at this node via HTTPS
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_max_post_length_bytesThe maximum length of a POST request that will be accepted by the embedded web server.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_x_content_type_optionsThe webserver adds 'X-Content-Type-Options' HTTP header with this value to all responses.
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_x_frame_optionsThe webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_advertised_addressesComma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--webserver_authentication_domainDomain used for the authentication by the embedded webserver
Type |
string |
|---|---|
Default |
none |
Tags |
--webserver_doc_rootFiles under <webserver_doc_root> are accessible via the embedded webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--webserver_enable_doc_rootIf true, webserver may serve static files from the webserver_doc_root
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--webserver_interfaceInterface to start the embedded webserver on. If blank, the webserver binds to 0.0.0.0
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--webserver_num_worker_threadsMaximum number of threads to start for handling webserver requests
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--webserver_password_fileLocation of .htpasswd file containing user names and hashed passwords for the authentication performed by the embedded webserver (NOTE: for better protection, consider configuring SPNEGO using the --webserver_require_spnego flag)
Type |
string |
|---|---|
Default |
none |
Tags |
sensitive |
--webserver_tls_ciphersThe cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--webserver_tls_min_protocolThe minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--compaction_minimum_improvementThe minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--all_delete_op_delta_file_cnt_for_compactionThe minimum number of REDO delta files containing only ancient DELETE operations to schedule a major delta compaction on them. A DELETE operation is considered ancient if it was applied more than --tablet_history_max_age_sec seconds ago. With the default setting, this behavior is effectively disabled; see KUDU-3619 for details.
Type |
uint64 |
|---|---|
Default |
|
Tags |
--tablet_transaction_memory_limit_mbMaximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--enable_gc_deleted_rowsets_without_live_row_countWhether to enable 'DeletedRowsetGCOp' for ancient, fully deleted rowsets without live row count stats. This is used to release the storage space of ancient, fully deleted rowsets generated by Kudu clusters that do not have live row count stats. If live row count feature is already supported in your kudu cluster, just ignore this flag.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--rowset_compaction_ancient_delta_max_ratioThe ratio of data in ancient UNDO deltas to the total amount of data in all deltas across rowsets picked for rowset merge compaction used as a threshold to determine whether to run the operation when --rowset_compaction_ancient_delta_max_ratio is set to 'true'. If the ratio is greater than the threshold defined by this flag, CompactRowSetsOp operations are postponed until UndoDeltaBlockGCOp purges enough of ancient UNDO deltas.
Type |
double |
|---|---|
Default |
|
Tags |
runtime,advanced |
--rowset_compaction_ancient_delta_threshold_enabledWhether to check the ratio of data in ancient UNDO deltas against the threshold set by --rowset_compaction_ancient_delta_max_ratio before running rowset merge compaction. If the ratio of ancient data in UNDO deltas is greater than the threshold, postpone running CompactRowSetsOp until UndoDeltaBlockGCOp purges ancient data and the ratio drops below the threshold (NOTE: regardless of the setting, the effective value of this flag becomes 'false' if --enable_undo_delta_block_gc is set to 'false')
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tablet_bloom_block_sizeBlock size of the bloom filters used for tablet keys.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tablet_bloom_target_fp_rateTarget false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--enable_deleted_rowset_gcWhether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime |
--undo_delta_block_gc_init_budget_millisThe maximum number of milliseconds we will spend initializing UNDO delta blocks per invocation of UndoDeltaBlockGCOp. Existing delta blocks must be initialized once per process startup to determine when they can be deleted.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced,evolving |
--txn_client_initialization_timeout_msAmount of time Kudu will try to initialize a client with which to perform transaction commit tasks.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime |
--txn_system_client_op_timeout_msOp timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--heartbeat_incompatible_replica_management_is_fatalWhether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--heartbeat_interval_msInterval at which the TS heartbeats to the master.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--heartbeat_max_failures_before_backoffMaximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--heartbeat_rpc_timeout_msTimeout used for the TS→Master heartbeat RPCs.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tserver_send_tombstoned_tablets_report_inteval_secsTime interval in seconds of sending a incremental tablets report to delete the tombstoned replicas whose tablets had already been deleted. Turn off this by setting it to a value less than 0. If this interval is set to less than the heartbeat interval, the tablets report will only be sent at the heartbeat interval. And also, please set this interval less than the flag metadata_for_deleted_table_and_tablet_reserved_secs of master if enable_metadata_cleanup_for_deleted_tables_and_tablets is set true. Otherwise, the tombstoned tablets probably could not be deleted.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime |
--scanner_ttl_msNumber of milliseconds of inactivity allowed for a scanner before it may be expired
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--show_slow_scansWhether to report on 'slow' scans at the /scans WebUI page and in the INFO log. If enabled, well performing full table scans and scans run by lazily-fetching clients may be reported as 'slow' depending on the --slow_scanner_threshold_ms setting.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--slow_scanner_threshold_msNumber of milliseconds for the threshold of slow scan.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tablet_copy_begin_session_timeout_msTablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tablet_copy_download_threads_nums_per_sessionNumber of threads per tablet copy session for downloading tablet data blocks.
Type |
int32 |
|---|---|
Default |
|
Tags |
--tablet_copy_support_download_superblock_in_batchWhether to support download superblock in batch automatically when it is very large.When superblock is small, it can be downloaded once a time.
Type |
bool |
|---|---|
Default |
|
Tags |
--tablet_copy_throttler_burst_factorBurst factor for tablet copy throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate. The default value is 1.0, which means the maximun rate is equals to --tablet_copy_throttler_bytes_per_sec.
Type |
double |
|---|---|
Default |
|
Tags |
--tablet_copy_throttler_bytes_per_secLimit tablet copying speed. It limits the copying speed of all the tablets in one server for one session. The default value is 0, which means not limiting the speed. The unit is bytes/seconds
Type |
int64 |
|---|---|
Default |
|
Tags |
--tablet_copy_idle_timeout_secAmount of time without activity before a tablet copy session will expire, in seconds
Type |
uint64 |
|---|---|
Default |
|
Tags |
evolving,advanced |
--tablet_apply_pool_overload_threshold_msThe threshold for the queue time of the 'apply' thread pool to enter and exit overloaded state. Once the queue stalls and its queue times become longer than the specified threshold, it enters the overloaded state. Tablet server rejects incoming write requests with some probability when its apply queue is overloaded. The longer the apply queue stays overloaded, the greater the probability of the rejection. In addition, the more row operations a write request has, the greater the probablity of the rejection. The apply queue exits the overloaded state when queue times drop below the specified threshold. Set this flag to 0 to disable the behavior described above.
Type |
uint32 |
|---|---|
Default |
|
Tags |
advanced |
--scanner_batch_size_rowsThe number of rows to batch for servicing scan requests.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--scanner_default_batch_size_bytesThe default size for batches of scan results
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--scanner_max_batch_size_bytesThe maximum batch size that a client may request for scan results.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--scanner_max_wait_msThe maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for waiting longer.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tserver_enforce_access_controlIf set, the server will apply fine-grained access control rules to client RPCs.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime |
--num_tablets_to_copy_simultaneouslyNumber of threads available to copy tablets from remote servers.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--num_tablets_to_delete_simultaneouslyNumber of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--num_tablets_to_open_simultaneouslyNumber of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--num_txn_status_tablets_to_reload_simultaneouslyNumber of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tablet_state_walk_min_period_msMinimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--txn_commit_pool_num_threadsNumber of threads available for transaction commit tasks.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--update_tablet_stats_interval_msInterval at which the tablet statistics should be updated. Should be greater than 'heartbeat_interval_ms'
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--cloud_aws_instance_id_urlThe URL to fetch the identifier of an AWS instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_aws_ntp_serverIP address/FQDN of the internal NTP server to use from within an AWS instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_azure_instance_id_urlThe URL to fetch the identifier of an Azure instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_gce_instance_id_urlThe URL to fetch the identifier of a GCE instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_gce_ntp_serverIP address/FQDN of the internal NTP server to use from within a GCE instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_metadata_server_request_timeout_msTimeout for HTTP/HTTPS requests to the instance metadata server (in milliseconds)
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_openstack_metadata_urlThe URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--trusted_certificate_filePath to a file that contains certificate(s) (in PEM format) to trust when Kudu establishes a TLS-protected connection to HTTP/HTTPS server (e.g., KMS service, JWKS server, etc.)
Type |
string |
|---|---|
Default |
none |
Tags |
--encrypt_data_at_restWhether sensitive files should be encrypted on the file system.
Type |
bool |
|---|---|
Default |
|
Tags |
--env_use_fsyncUse fsync(2) instead of fdatasync(2) for synchronizing dirty data to disk.
Type |
bool |
|---|---|
Default |
|
Tags |
evolving,advanced |
--file_cache_expiry_period_msPeriod of time (in ms) between removing expired file cache descriptors
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--disable_core_dumpsDisable core dumps when this process crashes.
Type |
bool |
|---|---|
Default |
|
Tags |
evolving,advanced |
--redactComma-separated list that controls redaction context. Supported options are 'all','log', and 'none'. If 'all' is specified, sensitive data (sensitive configuration flags and row data) will be redacted from the web UI as well as glog and error messages. If 'log' is specified, sensitive data will only be redacted from glog and error messages. If 'none' is specified, no redaction will occur.
Type |
string |
|---|---|
Default |
|
Tags |
evolving,advanced |
--umaskThe umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--jwks_pulling_timeout_sThe time in seconds for connection timed out when pulling JWKS from the specified URL.
Type |
int32 |
|---|---|
Default |
|
Tags |
--jwks_update_frequency_sThe time in seconds to wait between downloading JWKS from the specified URL.
Type |
int32 |
|---|---|
Default |
|
Tags |
--metrics_retirement_age_msThe minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced,runtime |
--enable_minidumpsWhether to enable minidump generation upon process crash or SIGUSR1. Currently only supported on Linux systems.
Type |
bool |
|---|---|
Default |
|
Tags |
evolving,advanced |
--max_minidumpsMaximum number of minidump files to keep per daemon. Older files are removed first. Set to 0 to keep all minidump files.
Type |
int32 |
|---|---|
Default |
|
Tags |
evolving |
--minidump_pathDirectory to write minidump files to. This can be either an absolute path or a path relative to --log_dir. Each daemon will create an additional sub-directory to prevent naming conflicts and to make it easier to identify a crashing daemon. Minidump files contain crash-related information in a compressed format. Minidumps will be written when a daemon exits unexpectedly, for example on an unhandled exception or signal, or when a SIGUSR1 signal is sent to the process. Cannot be set to an empty value.
Type |
string |
|---|---|
Default |
|
Tags |
evolving |
--minidump_size_limit_hint_kbSize limit hint for minidump files in KB. If a minidump exceeds this value, then breakpad will reduce the stack memory it collects for each thread from 8KB to 2KB. However it will always include the full stack memory for the first 20 threads, including the thread that crashed.
Type |
int32 |
|---|---|
Default |
|
Tags |
evolving,advanced |
--dns_resolver_cache_capacity_mbCapacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.
Type |
uint32 |
|---|---|
Default |
|
Tags |
advanced |
--dns_resolver_cache_ttl_secTTL of records in the DNS resolver cache, in seconds.
Type |
uint32 |
|---|---|
Default |
|
Tags |
advanced |
--dns_resolver_max_threads_numThe maximum number of threads to use for async DNS resolution
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--host_for_testsHost to use when resolving a given server’s locally bound or advertised addresses.
Type |
string |
|---|---|
Default |
none |
Tags |
--nvm_cache_pathThe path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.
Type |
string |
|---|---|
Default |
|
Tags |
--nvm_cache_usage_ratioA ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--memory_limit_soft_percentagePercentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher soft limit.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--memory_limit_warn_threshold_percentagePercentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--memory_pressure_percentagePercentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tcmalloc_max_free_bytes_percentageMaximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--colorlogtostdoutcolor messages logged to stdout (if supported by terminal)
Type |
bool |
|---|---|
Default |
|
Tags |
--drop_log_memoryDrop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--log_backtrace_atEmit a backtrace when logging at file:linenum.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--logbuflevelBuffer log messages logged at this level or lower (-1 means don’t buffer; 0 means buffer INFO only; …)
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--logbufsecsBuffer log messages for at most this many seconds
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--timestamp_in_logfile_nameput a timestamp at the end of the log file name
Type |
bool |
|---|---|
Default |
|
Tags |
| These flags are unsupported and are included for informational purposes only. They are subject to being changed or removed at any time. |
kudu-master Unsupported FlagsFlags not marked stable or evolving are considered experimental and are
unsupported. They are included here for informational purposes only and are
subject to being changed or removed without notice.
--block_cache_eviction_policyEviction policy used for block cache. Either 'LRU' (default) or 'SLRU' (experimental).
Type |
string |
|---|---|
Default |
|
Tags |
experimental,advanced |
--block_cache_lookups_before_upgradeNumber of lookups before entry is upgraded from probationary to protected segment. Must be > 0.
Type |
uint32 |
|---|---|
Default |
|
Tags |
experimental |
--block_cache_protected_segment_percentagePercentage of 'block_cache_capacity_mb' that’s the protected segment’s capacity. Ex. For the default parameters of 0.8 for this flag and 512 MB for 'block_cache_capacity_mb', the protected segment will be 0.8 * 512 = 410 MB.Must be >= 0 and ⇐ 1.
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--block_cache_typeWhich type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.
Type |
string |
|---|---|
Default |
|
Tags |
--min_compression_ratioIf a column compression codec is configured, but the codec is unable to achieve a compression ratio at least as good as the configured value, then the data will be written uncompressed. This will reduce CPU overhead on the read side at the expense of a small amount of extra space if the codec encounters portions of data that are not easily compressible.
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--cfile_default_block_sizeThe default block size to use in cfiles
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--cfile_default_compression_codecDefault cfile block compression codec.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--client_tablet_locations_by_id_ttl_msMaximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--client_use_unix_domain_socketsWhether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental |
--show_attributesWhether to show column attributes, including column encoding type, compression type, and default read/write value.
Type |
bool |
|---|---|
Default |
|
Tags |
--builtin_ntp_client_bind_addressLocal address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--builtin_ntp_poll_interval_msThe time between successive polls of a single NTP server (in milliseconds)
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--builtin_ntp_request_timeout_msTimeout for requests sent to NTP servers (in milliseconds)
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--builtin_ntp_true_time_refresh_max_interval_sMaximum allowed time interval without refreshing computed true time estimation (in seconds)
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--max_clock_sync_error_usecMaximum allowed clock synchronization error as reported by NTP before the server will abort.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--codegen_dump_functionsWhether to print the LLVM IR for generated functions
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--codegen_dump_mcWhether to dump the disassembly of the machine code for generated functions.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--codegen_cache_capacityNumber of entries which may be stored in the code generation cache.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--codegen_queue_capacityNumber of tasks which may be put in the code generation task queue.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--codegen_time_compilationWhether to print time that each code generation request took.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--predicate_effectivess_enabledShould ineffective predicate filtering be disabled
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--predicate_effectivess_num_skip_blocksNumber of blocks to skip for every predicate effectiveness check
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--predicate_effectivess_reject_ratioRejection ratio below which predicate filter is considered ineffective
Type |
double |
|---|---|
Default |
|
Tags |
runtime,advanced |
--ranger_default_databaseName of the default database which is used in the Ranger authorization context when the database name is not specified in the table name. Ranger makes no difference between <ranger_default_database>.<table> and <table>, so privileges granted on <table> in <ranger_default_database> are applied to both <ranger_default_database>.<table> and <table> in Kudu.
Type |
string |
|---|---|
Default |
|
Tags |
--cmeta_force_fsyncWhether fsync() should be called when consensus metadata files are updated
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--consensus_rpc_timeout_msTimeout used for all consensus internal RPC communications.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--consensus_max_batch_size_bytesThe maximum per-tablet RPC batch size when updating peers.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--follower_unavailable_considered_failed_secSeconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--fs_wal_use_file_cacheWhether to use the server-wide file cache for WAL segments and WAL index chunks.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced,runtime |
--group_commit_queue_size_bytesMaximum size of the group commit queue in bytes
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--log_compression_codecCodec to use for compressing WAL segments.
Type |
string |
|---|---|
Default |
|
Tags |
experimental |
--log_max_segments_to_retainThe maximum number of past log segments to keep at all times for the purposes of catching up other peers.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental,runtime,advanced |
--log_min_segments_to_retainThe minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced,runtime |
--global_log_cache_size_limit_mbServer-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--log_cache_size_limit_mbThe total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--log_async_preallocate_segmentsWhether the WAL segments preallocation should happen asynchronously
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--log_preallocate_segmentsWhether the WAL should preallocate the entire segment before writing to it
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--evict_failed_followersWhether to evict followers from the Raft config that have fallen too far behind the leader’s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--leader_failure_exp_backoff_max_delta_msMaximum time to sleep in between leader election retries, in addition to the regular timeout. When leader election fails the interval in between retries increases exponentially, up to this value.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--leader_failure_max_missed_heartbeat_periodsMaximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--raft_enable_pre_electionWhen enabled, candidates will call a pre-election before running a real leader election.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--raft_enable_tombstoned_votingWhen enabled, tombstoned tablets may vote in elections.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--raft_heartbeat_interval_msThe heartbeat interval 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.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--raft_prepare_replacement_before_evictionWhen enabled, failed replicas will only be evicted after a replacement has been prepared for them.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental,advanced |
--missed_heartbeats_before_rejecting_snapshot_scansThe maximum raft heartbeat periods since the tablet has seen safe time advanced before refusing scans at snapshots that aren’t yet safe and forcing clients to try again.
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--safe_time_advancement_without_writesWhether to enable the advancement of "safe" time in the absense of write operations
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--safe_time_max_lag_msThe maximum amount of time we allow safe time to lag behind the requested timestampbefore forcing the client to retry, in milliseconds.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--block_manager_preflush_controlControls when to pre-flush a block. Valid values are 'finalize', 'close', or 'never'. If 'finalize', blocks will be pre-flushed when writing is finished. If 'close', blocks will be pre-flushed when their transaction is committed. If 'never', blocks will never be pre-flushed but still be flushed when closed.
Type |
string |
|---|---|
Default |
|
Tags |
experimental |
--fs_max_thread_count_per_data_dirMaximum work thread per data directory.
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced |
--log_container_rdb_bits_per_keyAverage number of bits allocated per key in RocksDB bloom filter, for details see https://github.com/facebook/rocksdb/wiki/RocksDB-Bloom-Filter. It is only effective when --block_manager='logr'
Type |
double |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_block_cache_capacity_mbThe block cache capacity of RocksDB in MiB, it is shared by all RocksDB instances in the process. It is only effective when --block_manager='logr'
Type |
uint32 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_db_log_dirThis specifies the info log dir of RocksDB. If it is empty, the log files are in the same dir as data (i.e. each dir in --fs_data_dirs). If it is not empty, the log files will be in the specified dir, and the --fs_data_dirs absolute path will be used as the log file name’s prefixes. It is only effective when --block_manager='logr'
Type |
string |
|---|---|
Default |
none |
Tags |
experimental,advanced |
--log_container_rdb_keep_log_file_numMaximum number of RocksDB info log files to keep. It is only effective when --block_manager='logr'
Type |
uint64 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_level0_file_num_compaction_triggerNumber of files to trigger level-0 compaction in RocksDB. A value <0 means that level-0 compaction will not be triggered by the number of files at all. It is only effective when --block_manager='logr'
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_max_background_jobsThe maximum number of concurrent background jobs (compactions and flushes) shared between RocksDB instances. It is only effective when --block_manager='logr'
Type |
uint32 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_max_log_file_sizeMaximum byte size of the RocksDB info log file. If the log file is larger than specified, a new info log file will be created. If it is 0, all logs will be written to one log file. It is only effective when --block_manager='logr'
Type |
uint64 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_max_manifest_file_sizeThe RocksDB manifest file is rolled over on reaching this byte limit. It is only effective when --block_manager='logr'
Type |
uint64 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_max_write_buffer_numberThe maximum number of write buffers that are built up in memory of each RocksDB instance. It is only effective when --block_manager='logr'
Type |
uint32 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_memtable_prefix_bloom_size_ratioEnables a dynamic bloom filter of RocksDB memtable to optimize many queries that must go beyond the memtable if it is larger than 0. The size in bytes of the filter is --log_container_rdb_write_buffer_size * --log_container_rdb_memtable_prefix_bloom_size_ratio. It is only effective when --block_manager='logr'
Type |
double |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_write_buffer_sizeThe amount of data in RocksDB to build up in memory (backed by an unsorted log on disk) before converting to a sorted on-disk file. It is only effective when --block_manager='logr'
Type |
uint64 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--block_managerWhich block manager to use for storage. Valid options are 'file', 'log' and 'logr'. The 'file' block manager is not suitable for production use due to scaling limitations.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--cmeta_fsync_override_on_xfsWhether to ignore --cmeta_force_fsync and instead always flush if Kudu detects the server is on XFS. This can prevent consensus metadata corruption in the event of sudden server failure. Disabling this flag may cause data loss in the event of a system crash. See KUDU-2195 for more details.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced,experimental |
--encryption_cluster_key_nameName of the cluster key that is used to encrypt server encryption keys as stored in Ranger KMS.
Type |
string |
|---|---|
Default |
|
Tags |
--encryption_key_providerKey provider implementation to generate and decrypt server keys. Valid values are: 'default' (not for production usage), and 'ranger-kms'.
Type |
string |
|---|---|
Default |
|
Tags |
--fs_wal_dir_reserved_bytesNumber of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime |
--ranger_kms_urlComma-separated list of Ranger KMS server URLs. Must be set when 'encryption_key_provider' is set to 'ranger-kms'.
Type |
string |
|---|---|
Default |
none |
Tags |
--log_block_manager_delete_dead_containerWhen enabled, full and dead log block containers will be deleted at runtime, which can potentially help improving log block manager startup time
Type |
bool |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_excess_space_before_cleanup_fractionAdditional fraction of a log container’s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--log_container_live_metadata_before_compact_ratioDesired ratio of live block metadata in log containers. If a container’s live to total block ratio dips below this value, the container’s metadata file will be compacted at startup, or at runtime, based on the configuration of --log_container_metadata_size_before_compact_ratio.
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--log_container_max_blocksMaximum number of blocks (soft) of a log container. Use 0 for no limit. Use -1 for no limit except in the case of a kernel bug with hole punching on ext4 (see KUDU-1508 for details).
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--log_container_max_sizeMaximum size (soft) of a log container
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced |
--log_container_metadata_max_sizeMaximum size (soft) of a log container’s metadata. Use 0 for no limit.
Type |
uint64 |
|---|---|
Default |
|
Tags |
runtime,advanced,experimental |
--log_container_metadata_runtime_compactWhether to enable metadata file compaction at runtime.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced,experimental |
--log_container_metadata_size_before_compact_ratioDesired portion of --log_container_metadata_max_size container metadata must consume before metadata is considered for compaction. If a container’s metadata file exceeds --log_container_metadata_max_size * --log_container_metadata_size_before_compact_ratio, and the number of live blocks falls below --log_container_live_metadata_before_compact_ratio, the container’s metadata will be compacted.
Type |
double |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_preallocate_bytesNumber of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced |
--log_container_rdb_delete_batch_countThe batch count for deleting blocks in one operation against RocksDB. It is only effective when --block_manager='logr'
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced,experimental |
--hive_metastore_conn_timeout_secondsConfigures the socket connect timeout, in seconds, for Thrift connections to the Hive Metastore.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--hive_metastore_kerberos_principalThe service principal of the Hive Metastore server. Must match the primary (user) portion of hive.metastore.kerberos.principal option in the Hive Metastore configuration.
Type |
string |
|---|---|
Default |
|
Tags |
--hive_metastore_max_message_size_bytesMaximum size of Hive Metastore objects that can be received by the HMS client in bytes. Should match the metastore.server.max.message.size configuration.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--hive_metastore_recv_timeout_secondsConfigures the socket receive timeout, in seconds, for Thrift connections to the Hive Metastore.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--hive_metastore_retry_countThe number of times that HMS operations will retry after encountering retriable failures, such as network errors.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--hive_metastore_sasl_enabledConfigures whether Thrift connections to the Hive Metastore use SASL (Kerberos) security. Must match the value of the hive.metastore.sasl.enabled option in the Hive Metastore configuration. When enabled, the --keytab_file flag must be provided.
Type |
bool |
|---|---|
Default |
|
Tags |
--hive_metastore_send_timeout_secondsConfigures the socket send timeout, in seconds, for Thrift connections to the Hive Metastore.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--hive_metastore_urisAddress of the Hive Metastore instance(s). The provided port must be for the HMS Thrift service. If a port is not provided, defaults to 9083. If the HMS is deployed in an HA configuration, multiple comma-separated addresses should be supplied. If not set, the Kudu master will not send Kudu table catalog updates to Hive. The configured value must match the Hive hive.metastore.uris configuration.
Type |
string |
|---|---|
Default |
none |
Tags |
--trusted_user_aclComma-separated list of trusted users who may access the cluster without being authorized against fine-grained permissions.
Type |
string |
|---|---|
Default |
none |
Tags |
sensitive |
--auto_leader_rebalancing_interval_secondsHow long to sleep in between auto leader rebalancing cycles, before checking the cluster again to see if there is leader skew and if run task again.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--auto_leader_rebalancing_rpc_timeout_secondsauto leader rebalancing send leader step down rpc timeout seconds
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--leader_rebalancing_ignore_soft_deleted_tablesWhether to ignore rebalancing the soft deleted tables
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--leader_rebalancing_max_moves_per_roundMax count of leader transfer when every leader rebalance runs
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--auto_rebalancing_interval_secondsHow long to sleep in between rebalancing cycles, before checking the cluster again to see if there is skew and rebalancing to be done.
Type |
uint32 |
|---|---|
Default |
|
Tags |
--auto_rebalancing_load_imbalance_thresholdThe threshold for the per-table location load imbalance. The threshold is used during the cross-location rebalancing phase. If the measured cross-location load imbalance for a table is greater than the specified threshold, the rebalancer tries to move table’s replicas to reduce the imbalance. The recommended range for the threshold is [0.5, …) with the default value of 1.0. The threshold represents a policy wrt what to prefer: either ideal balance of the cross-location load on per-table basis (lower threshold value) or minimum number of replica movements between locations (greater threshold value). The default value is empirically proven to be a good choice between 'ideal' and 'good enough' replica distributions.
Type |
double |
|---|---|
Default |
|
Tags |
--auto_rebalancing_max_moves_per_serverMaximum number of replica moves to perform concurrently on one tablet server: 'move from' and 'move to' are counted as separate move operations.
Type |
uint32 |
|---|---|
Default |
|
Tags |
--auto_rebalancing_rpc_timeout_secondsRPC timeout in seconds when making RPCs to request moving tablet replicas or to check if the replica movement has completed.
Type |
uint32 |
|---|---|
Default |
|
Tags |
--auto_rebalancing_wait_for_replica_moves_secondsHow long to wait before checking to see if the scheduled replica movement in this iteration of auto-rebalancing has completed.
Type |
uint32 |
|---|---|
Default |
|
Tags |
--auto_leader_rebalancing_enabledWhether automatic leader rebalancing is enabled.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced,experimental |
--auto_rebalancing_enabledWhether auto-rebalancing is enabled.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced,experimental |
--catalog_manager_enable_chunked_tablet_reportsWhether to split the tablet report data received from one tablet server into chunks when persisting it in the system catalog. The chunking starts at around the maximum allowed RPC size controlled by the --rpc_max_message_size flag. When the chunking is disabled, a tablet report sent by a tablet server is rejected if it would result in an oversized update on the system catalog tablet. With the default settings for --rpc_max_message_size, the latter can happen only in case of extremely high number of tablet replicas per tablet server.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--default_deleted_table_reserve_secondsTime in seconds to be reserved before purging a deleted table for the table from DeleteTable request. Value 0 means DeleteTable() works the regular way, i.e. dropping the table and purging its data immediately. If it’s set to anything greater than 0, then all DeleteTable() RPCs are turned into SoftDeleteTable(…, FLAGS_default_deleted_table_reserve_seconds). NOTE : this flag make no sense for soft-delete function because the reserve_seconds has been specified by user while calling SoftDeleteTable.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--default_num_replicasDefault number of replicas for tables that do not have the num_replicas set.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--enable_chunked_tablet_writesWhether to split tablet actions into chunks when persisting them in sys.catalog table. If disabled, any update of the sys.catalog table will be rejected if exceeds --rpc_max_message_size.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--enable_metadata_cleanup_for_deleted_tables_and_tabletsWhether to clean up metadata for deleted tables and tablets from master’s in-memory map and the 'sys.catalog' table.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--enable_per_range_hash_schemasWhether to support range-specific hash schemas for tables.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--enable_range_replica_placementWhether to use range aware replica placement for newly created tablets.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime |
--enable_table_write_limitEnable the table write limit. When the table’s size or row count is approaching the limit, the write may be forbidden.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--master_failover_catchup_timeout_msAmount of time to give a newly-elected leader master to load the previous master’s metadata and become active. If this time is exceeded, the node crashes.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--master_ts_rpc_timeout_msTimeout used for the master→TS async rpc calls.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--max_create_tablets_per_tsThe number of tablet replicas per TS that can be requested for a new table. If 0, no limit is enforced.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--metadata_for_deleted_table_and_tablet_reserved_secsAfter this amount of time, the metadata of a deleted table/tablet will be cleaned up if --enable_metadata_cleanup_for_deleted_tables_and_tablets=true.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--min_num_replicasMinimum number of replicas that may be specified when creating a table: this is to enforce the minimum replication factor for tables created in a Kudu cluster. For example, setting this flag to 3 enforces every new table to have at least 3 replicas for each of its tablets, so there cannot be a data loss when a single tablet server fails irrecoverably.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--require_new_spec_for_custom_hash_schema_range_boundWhether to require the client to use newer signature to specify range bounds when working with a table having custom hash schema per range.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--table_disk_size_limitSet the target size in bytes of a table to write. This is a system wide configuration for every newly created table.
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental |
--table_locations_cache_capacity_mbCapacity for the table locations cache (in MiB); a value of 0 means table locations are not be cached.
Type |
uint32 |
|---|---|
Default |
|
Tags |
advanced |
--table_locations_ttl_msMaximum time in milliseconds which clients may cache table locations. New range partitions may not be visible to existing client instances until after waiting for the ttl period.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--table_row_count_limitSet the target row count of a table to write. This is a system wide configuration for every newly created table.
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental |
--table_write_limit_ratioSet the ratio of how much write limit can be reached.
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--tablet_creation_timeout_msTimeout used by the master when attempting to create tablet replicas during table creation.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--unresponsive_ts_rpc_timeout_msAfter this amount of time, the master will stop attempting to contact a tablet server in order to perform operations such as deleting a tablet.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--hive_metastore_notification_log_batch_sizeNumber of notification log entries which are retrieved from the Hive Metastore per batch when polling.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--hive_metastore_notification_log_poll_period_secondsAmount of time the notification log listener waits between attempts to poll the Hive Metastore for catalog updates.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--authn_token_validity_secondsPeriod of time for which an issued authentication token is valid. Clients will automatically attempt to reacquire a token after the validity period expires.
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental |
--authz_token_validity_secondsPeriod of time for which an issued authorization token is valid. Clients will automatically attempt to reacquire a token after the validity period expires.
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental |
--check_expired_table_interval_secondsInterval (in seconds) to check whether there is any soft_deleted table with expired reservation period. Such tables will be purged and cannot be recalled after that.
Type |
int32 |
|---|---|
Default |
|
Tags |
--ipki_private_key_password_cmdA Unix command whose output returns the password to encrypt and decrypt the IPKI root CA private key.
Type |
string |
|---|---|
Default |
none |
Tags |
--location_mapping_cmdA Unix command which takes a single argument, the IP address or hostname of a tablet server or client, and returns the location string for the tablet server. A location string begins with a / and consists of /-separated tokens each of which contains only characters from the set [a-zA-Z0-9_-.]. If the cluster is not using location awareness features this flag should not be set.
Type |
string |
|---|---|
Default |
none |
Tags |
--master_registration_rpc_timeout_msTimeout for retrieving master registration over RPC.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--master_rpc_proxy_advertised_addressesRPC endpoints of all masters in this cluster exposed to the external network via a TCP proxy. This is a comma-separated list of the masters' proxy-advertised RPC addresses, each specified via the --rpc_proxy_advertised_addresses flag for a single master.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental |
--tsk_private_key_password_cmdA Unix command whose output returns the password to encrypt and decrypt the token signing key
Type |
string |
|---|---|
Default |
none |
Tags |
--tsk_rotation_secondsNumber of seconds between consecutive activations of newly generated TSKs (Token Signing Keys).
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--ipki_ca_cert_expiration_secondsvalidity interval for self-signed root CA certifcate issued by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental |
--ipki_ca_key_sizethe number of bits for self-signed root CA cert used by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--ipki_server_cert_expiration_secondsvalidity interval for server certificates issued by Kudu IPKI (Internal Private Key Infrastructure, a.k.a. Internal Kudu CA)
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental |
--master_auto_join_clusterWhether Kudu Masters should automatically attempt to join existing an existing cluster, specified by the master addresses
Type |
bool |
|---|---|
Default |
|
Tags |
runtime |
--master_auto_join_retry_interval_secsThe interval, in seconds, with which to retry checks to determine whether this Master should be added to a cluster.
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime |
--master_auto_join_rpc_timeout_secsThe amount of time, in seconds, to use as a timeout when sending RPCs to add this Master to a cluster.
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime |
--master_client_location_assignment_enabledWhether masters assign locations to connecting clients. Setting this flag to 'false' makes masters assign locations only to tablet servers, not clients.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--master_support_change_configWhether the master supports adding/removing master servers dynamically.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tserver_unresponsive_timeout_msThe period of time that a Master can go without receiving a heartbeat from a tablet server before considering it unresponsive. Unresponsive servers are not selected when assigning replicas during table creation or re-replication.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--txn_manager_lazily_initializedWhether to initialize TxnManager upon arrival of first request. Otherwise, TxnManager is initialized upon master’s startup.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental,advanced |
--txn_manager_status_table_num_replicasNumber of replicas for transaction status table
Type |
uint32 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--txn_manager_status_table_range_partition_spanA span for a status table’s range partition. Once TxnManager detects there isn’t a backing tablet for a transaction identifier, it adds a new range partition in the transaction status table with the lower bound equal to the upper bound of the previous range and (lower bound + span) as the upper bound.
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--ranger_kms_client_generate_key_max_retry_time_sThe maximum retry time for generating encryption keys using the Ranger KMS client. The maximum effective time for adding a new account to Apache Ranger is about 30 seconds, and the retry time for using the client to generate the key should be greater than this value.
Type |
int32 |
|---|---|
Default |
|
Tags |
--ranger_config_pathPath to directory containing Ranger client configuration. When set, Ranger integration is enabled, fine-grained access control is enforced, and clients are issued authorization tokens. In addition, both --ranger_java_path and --ranger_jar_path flags need to be set properly for Ranger integration to work.
Type |
string |
|---|---|
Default |
none |
Tags |
--ranger_crash_master_on_subprocess_failureWhether to crash the Master if the Ranger subprocess crashes.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--ranger_jar_pathPath to the JAR file containing the Ranger subprocess. If not specified, the default JAR file path is expected to be next to the master binary. It can be a colon-separated list of JARs. If it is, the paths are not verified and passed straight to Java.
Type |
string |
|---|---|
Default |
none |
Tags |
--ranger_java_extra_argsExtra JVM arguments to be passed to the Ranger subprocess.
Type |
string |
|---|---|
Default |
none |
Tags |
--ranger_java_pathPath where the Java binary was installed. If the value isn’t an absolute path (e.g. 'java'), it will be evaluated using the Kudu user’s PATH. If not specified, $JAVA_HOME/bin/java is used. If $JAVA_HOME is not found, Kudu will attempt to find 'java' in the Kudu user’s PATH.
Type |
string |
|---|---|
Default |
none |
Tags |
--ranger_receiver_fifo_dirDirectory in which to create a fifo used to receive messages from the Ranger subprocess. Existing fifos at this path will be overwritten. If not specified, a fifo will be created in the --ranger_config_path directory.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--rpc_acceptor_listen_backlogSocket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. The value might be silently capped by the system-level limit on the listened socket’s backlog. The value of -1 has the semantics of the longest possible queue with the length up to the system-level limit. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_listen_socket_stats_every_log2Listening RPC socket’s statistics sampling frequency. With --rpc_listen_socket_stats_every_log2=N, the statistics are sampled every 2^N connection request by each acceptor thread. Set this flag to -1 to disable statistics collection on the listening RPC socket.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_encrypt_loopback_connectionsWhether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--rpc_trace_negotiationIf enabled, dump traces of all RPC negotiations to the log
Type |
bool |
|---|---|
Default |
|
Tags |
experimental,runtime,advanced |
--rpc_callback_max_cyclesThe maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tcp_keepalive_probe_period_sThe duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tcp_keepalive_retry_countThe maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tcp_keepalive_retry_period_sThe duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--remember_clients_ttl_msMaximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--remember_responses_ttl_msMaximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_dump_all_tracesIf true, dump all RPC traces at INFO level
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--rpc_duration_too_long_msThreshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--rpc_max_message_sizeThe maximum size of a message that any RPC that the server will accept. Must be at least 1MB.
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--spnego_keytab_fileAbsolute path to Kerberos keytab file for HTTP SPNEGO. If it is empty, --keytab_file flag will be used.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--use_system_auth_to_localWhen enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--ipki_server_key_sizethe number of bits for server cert’s private key. The server cert is used for TLS connections to and from clients and other servers.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--tsk_num_rsa_bitsNumber of bits in RSA keys used for token signing.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--web_log_bytesThe maximum number of bytes to display on the debug webserver’s log page
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--diagnostics_log_stack_traces_interval_msThe interval at which the server will a snapshot of its thread stacks to the diagnostics log. In fact, the server will log at a random interval betweeen zero and twice the configured value to avoid biasing samples towards periodic processes which happen exactly on some particular schedule. If this is set to 0, stack traces will be not be periodically logged, but will still be logged on events such as queue overflows. Setting this to a negative value disables stack trace logging entirely.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental,runtime |
--disable_gflag_filter_logic_for_testingWhether to disable filter logic on the server side for test purpose.
Type |
bool |
|---|---|
Default |
|
Tags |
--rpc_advertised_addressesComma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--rpc_num_acceptors_per_addressNumber of RPC acceptor threads for each bound address
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_proxied_addressesComma-separated list of addresses to accept RPC requests forwarded from external networks (possibly, via a TCP proxy). These are RPC endpoints in the inner network to handle RPC requests forwarded/proxied from outside networks; they are orthogonal to --rpc_advertised_addresses, so these can be used in containerized environments behind a firewall.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental,advanced |
--rpc_proxy_advertised_addressesThis server’s RPC endpoints exposed to the external network via a TCP proxy. It’s assumed that RPCs sent by a Kudu client from the external network are forwarded/proxied to the RPC endpoint in the inner cluster’s network, where the latter is specified by the --rpc_proxied_addresses flag.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental,advanced |
--rpc_reuseportWhether to set the SO_REUSEPORT option on listening RPC sockets.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental |
--rpc_service_queue_lengthDefault length of queue for incoming RPC requests
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--enable_jwt_token_authThis enables JWT authentication, meaning that the server expects a valid JWT to be sent by the client which will be verified when the connection is being established. When true, read the JWT token out of the RPC and extract user name from the token payload.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental |
--gc_tcmalloc_memory_interval_secondsInterval seconds to GC tcmalloc memory, 0 means disabled.
Type |
uint64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--jwks_file_pathFile path of the pre-installed JSON Web Key Set (JWKS) for JWT verification.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental |
--jwks_urlURL of the JSON Web Key Set (JWKS) for JWT verification.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental |
--max_negotiation_threadsMaximum number of connection negotiation threads.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--min_negotiation_threadsMinimum number of connection negotiation threads.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_ca_certificate_filePath to the PEM encoded X509 certificate of the trusted external certificate authority. The provided certificate should be the root issuer of the certificate passed in '--rpc_certificate_file'.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental |
--rpc_certificate_filePath to a PEM encoded X509 certificate to use for securing RPC connections with SSL/TLS. If set, '--rpc_private_key_file' and '--rpc_ca_certificate_file' must be set as well.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental |
--rpc_default_keepalive_time_msIf an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_listen_on_unix_domain_socketWhether the RPC server should listen on a Unix domain socket. If enabled, the RPC server will bind to a socket in the "abstract namespace" using a name which uniquely identifies the server instance.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental |
--rpc_negotiation_timeout_msTimeout for negotiating an RPC connection, in milliseconds
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_private_key_filePath to a PEM encoded private key paired with the certificate from '--rpc_certificate_file'
Type |
string |
|---|---|
Default |
none |
Tags |
experimental |
--rpc_private_key_password_cmdA Unix command whose output returns the password used to decrypt the RPC server’s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.
Type |
string |
|---|---|
Default |
none |
Tags |
--rpc_tls_ciphersTLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--rpc_tls_ciphersuitesTLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--rpc_tls_excluded_protocolsA comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental,advanced |
--rpc_tls_min_protocolThe minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--server_max_open_filesMaximum number of open file descriptors. If 0, Kudu will automatically calculate this value. This is a soft limit
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced |
--tcmalloc_max_total_thread_cache_bytesUpper limit on total number of bytes stored across all thread cache in tcmalloc. Increasing this value helps in reducing lock contention in tcmalloc for memory-intensive workloads. WARNING: This flag will cover the TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES environment variable. Please change the max size of all thread caches via this flag. Note that This bound is not strict, so it is possible for the cache to go over this bound in certain circumstances. And the maximum value of this flag is capped to 1 GB
Type |
uint64 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--wall_clock_jump_detectionWhether to run a sanity check on wall clock timestamps using the readings of the CLOCK_MONOTONIC_RAW clock as the reference. Acceptable values for this flag are "auto", "enabled", and "disabled". "auto" enables the sanity check in environments known to be susceptible to such clock jumps (e.g., Azure VMs); "enabled" unconditionally enables the check; "disabled" unconditionally disables the check. The threshold for the difference between deltas of consecutive timestamps read from wall and CLOCK_MONOTONIC_RAW clocks is controlled by the --wall_clock_jump_threshold_sec flag.
Type |
string |
|---|---|
Default |
|
Tags |
experimental |
--wall_clock_jump_threshold_secMaximum allowed divergence between the wall and monotonic clocks; effective only when the clock jump protection is enabled
Type |
uint32 |
|---|---|
Default |
|
Tags |
experimental |
--webserver_enabledWhether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--metrics_log_interval_msInterval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--webserver_cache_control_optionsThe webserver adds 'Cache-Control' HTTP header with this value to all responses.
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_enable_cspThe webserver adds the Content-Security-Policy header to response when enabled.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_hsts_include_sub_domainsWhether to add 'includeSubDomains' directive into the 'Strict-Transport-Security' header when the latter is enabled. See --webserver_hsts_max_age_seconds’s description for details.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_hsts_max_age_secondsThe time, in seconds, that a browser should remember that the webserver must only be accessed using HTTPS. The HTTP Strict Transport Security (HSTS) policy is implemented by adding a 'Strict-Transport-Security' header. If greater or equal to zero, a TLS-enabled webserver adds the HSTS header with corresponding 'max-age' setting to the response. If the setting is negative, the HSTS header is not present in the response. As an option, it is possible to add 'includeSubDomains' directive as specified by the --webserver_hsts_include_sub_domains flag. WARNING: once enabled, the HSTS policy affects everything at the node/domain, so any HTTP endpoint at the node/domain effectively becomes unreachable to the browser which has reached the embedded webserver at this node via HTTPS
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_max_post_length_bytesThe maximum length of a POST request that will be accepted by the embedded web server.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_x_content_type_optionsThe webserver adds 'X-Content-Type-Options' HTTP header with this value to all responses.
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_x_frame_optionsThe webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_advertised_addressesComma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--webserver_authentication_domainDomain used for the authentication by the embedded webserver
Type |
string |
|---|---|
Default |
none |
Tags |
--webserver_doc_rootFiles under <webserver_doc_root> are accessible via the embedded webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--webserver_enable_doc_rootIf true, webserver may serve static files from the webserver_doc_root
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--webserver_interfaceInterface to start the embedded webserver on. If blank, the webserver binds to 0.0.0.0
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--webserver_num_worker_threadsMaximum number of threads to start for handling webserver requests
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--webserver_password_fileLocation of .htpasswd file containing user names and hashed passwords for the authentication performed by the embedded webserver (NOTE: for better protection, consider configuring SPNEGO using the --webserver_require_spnego flag)
Type |
string |
|---|---|
Default |
none |
Tags |
sensitive |
--webserver_tls_ciphersThe cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--webserver_tls_min_protocolThe minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--subprocess_deadline_checking_interval_msInterval in milliseconds at which Kudu will check the deadlines of in-flight calls to the subprocess
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced,runtime |
--subprocess_max_message_size_bytesMaximum payload size for a message in protobuf format the subprocess server accepts from a subprocess (i.e. its child), in bytes, 0 means unlimited. If a subprocess sends a message with bigger payload than the specified limit, the server rejects the message and responds with AppStatusPB::IO_ERROR error code. This setting is not effective for messages in JSON format.
Type |
uint32 |
|---|---|
Default |
|
Tags |
advanced |
--subprocess_num_responder_threadsNumber of threads that will be dedicated to reading responses from the inbound queue and returning to callers
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--subprocess_queue_full_retry_msNumber of milliseconds between attempts to enqueue the request to the subprocess
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced,runtime |
--subprocess_request_queue_size_bytesMaximum size in bytes of the outbound request queue. This is best effort: if a single request is larger than this, it is still added to the queue
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--subprocess_response_queue_size_bytesMaximum size in bytes of the inbound response queue. This is best effort: if a single request is larger than this, it is still added to the queue
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--subprocess_timeout_secsNumber of seconds a call to the subprocess is allowed to take before a timeout error is returned to the calling process
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--budgeted_compaction_target_rowset_sizeThe target size in bytes for DiskRowSets produced by flushes or compactions when the budgeted compaction policy is used.
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--compaction_approximation_ratioApproximation ratio allowed for optimal compaction calculation. A value of 1.05 indicates that the policy may use an approximate result if it is known to be within 5% of the optimal solution.
Type |
double |
|---|---|
Default |
|
Tags |
experimental,advanced |
--compaction_minimum_improvementThe minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--rowset_compaction_delta_memory_factorThe initial memory-to-disk size factor to estimate the amount of memory necessary to load a rowset’s deltas into memory to perform CompactRowSetsOp. The estimate is obtained by multiplying this factor by the total size of deltas across all rowsets selected for rowset merge compaction. This flag is used when there isn’t enough statistics accumulated for the tablet during the runtime of a tablet server (e.g., upon the very first run of CompactRowSetsOp for a tablet after starting the tablet server) or --rowset_compaction_enforce_preset_factor is set. The factor depends on tablet’s column types, encoding, compression, workload pattern, etc.
Type |
double |
|---|---|
Default |
|
Tags |
runtime,experimental |
--rowset_compaction_enforce_preset_factorWhether to use the preset factor defined by the --rowset_compaction_delta_memory_factor flag even when enough runtime stats have accumulated by the compact_rs_mem_usage_to_deltas_size_ratio metric
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--rowset_compaction_estimate_min_deltas_size_mbMinimum size (in MBytes) of on-disk delta sizes to apply memory budgeting constraints for rowset merge compaction if --rowset_compaction_memory_estimate_enabled set to 'true'. This threshold is also used to decide whether to collect the stats for the compact_rs_mem_usage_to_deltas_size_ratio tablet metric.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--rowset_compaction_memory_estimate_enabledWhether to check for available memory necessary to run CompactRowSetsOp maintenance operations. If the difference between the hard memory limit and current usage is less than the estimated amount necessary to perform the operation, postpone running the operation until there is enough memory available. Use the --rowset_compaction_delta_memory_factor flag to tune the initial factor to estimate the amount of required memory based on the on-disk size of deltas when relevant statistics have not yet accumulated or the --rowset_compaction_enforce_preset_factor flag is set to 'true'.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--all_delete_op_delta_file_cnt_for_compactionThe minimum number of REDO delta files containing only ancient DELETE operations to schedule a major delta compaction on them. A DELETE operation is considered ancient if it was applied more than --tablet_history_max_age_sec seconds ago. With the default setting, this behavior is effectively disabled; see KUDU-3619 for details.
Type |
uint64 |
|---|---|
Default |
|
Tags |
--deltafile_default_block_sizeBlock size for delta files. In the future, this may become configurable on a per-table basis.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--deltafile_default_compression_codecThe compression codec used when writing deltafiles.
Type |
string |
|---|---|
Default |
|
Tags |
experimental |
--default_composite_key_index_block_size_bytesBlock size used for composite key indexes.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--rowset_metadata_store_keysWhether to store the min/max encoded keys in the rowset metadata. If false, keys will be read from the data blocks.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental |
--tablet_delta_store_major_compact_min_ratioMinimum ratio of sizeof(deltas) to sizeof(base data) before a major compaction can run (Advanced option)
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--tablet_delta_store_minor_compact_maxHow many delta stores are required before forcing a minor delta compaction (Advanced option)
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--tablet_transaction_memory_limit_mbMaximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--compaction_small_rowset_tradeoffThe weight of small rowset compaction compared to height-based compaction. This value must be less than -compaction_minimum_improvement to prevent compaction loops. Only change this if you know what you are doing.
Type |
double |
|---|---|
Default |
|
Tags |
runtime,advanced,experimental |
--enable_gc_deleted_rowsets_without_live_row_countWhether to enable 'DeletedRowsetGCOp' for ancient, fully deleted rowsets without live row count stats. This is used to release the storage space of ancient, fully deleted rowsets generated by Kudu clusters that do not have live row count stats. If live row count feature is already supported in your kudu cluster, just ignore this flag.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--rows_writed_per_sec_for_hot_tabletsMinimum write rate for tablets to be considered 'hot' (rows/sec). If a tablet’s write rate exceeds this value, compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--rowset_compaction_ancient_delta_max_ratioThe ratio of data in ancient UNDO deltas to the total amount of data in all deltas across rowsets picked for rowset merge compaction used as a threshold to determine whether to run the operation when --rowset_compaction_ancient_delta_max_ratio is set to 'true'. If the ratio is greater than the threshold defined by this flag, CompactRowSetsOp operations are postponed until UndoDeltaBlockGCOp purges enough of ancient UNDO deltas.
Type |
double |
|---|---|
Default |
|
Tags |
runtime,advanced |
--rowset_compaction_ancient_delta_threshold_enabledWhether to check the ratio of data in ancient UNDO deltas against the threshold set by --rowset_compaction_ancient_delta_max_ratio before running rowset merge compaction. If the ratio of ancient data in UNDO deltas is greater than the threshold, postpone running CompactRowSetsOp until UndoDeltaBlockGCOp purges ancient data and the ratio drops below the threshold (NOTE: regardless of the setting, the effective value of this flag becomes 'false' if --enable_undo_delta_block_gc is set to 'false')
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--scans_started_per_sec_for_hot_tabletsMinimum read rate for tablets to be considered 'hot' (scans/sec). If a tablet’s read rate exceeds this value, flush/compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--tablet_bloom_block_sizeBlock size of the bloom filters used for tablet keys.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tablet_bloom_target_fp_rateTarget false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--tablet_compaction_budget_mbBudget for a single compaction
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--tablet_throttler_burst_factorBurst factor for write RPC throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate.
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--tablet_throttler_bytes_per_secMaximum write RPC IO rate (byte/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no limit.
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental |
--tablet_throttler_rpc_per_secMaximum write RPC rate (op/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no limit.
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental |
--workload_score_upper_boundUpper bound for workload score.
Type |
double |
|---|---|
Default |
|
Tags |
runtime,experimental |
--workload_stats_metric_collection_interval_msThe interval in milliseconds at which we collect workload metrics.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--workload_stats_rate_collection_min_interval_msThe minimal interval in milliseconds at which we collect read/write rates.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--enable_deleted_rowset_gcWhether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime |
--enable_workload_score_for_perf_improvement_opsWhether to enable prioritization of maintenance operations based on whether there are on-going workloads, favoring ops of 'hot' tablets.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--update_stats_log_throttling_interval_secLog throttling interval for messages on disabled compaction emitted by UpdateStats method.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental,runtime |
--tablet_max_pending_txn_write_opsMaximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--flush_threshold_mbSize at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn’t flushed in a while, or if the server-wide memory limit has been reached.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--flush_threshold_secsNumber of seconds after which a non-empty MRS/DMS will become flushable even if it is not large.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--flush_upper_bound_msNumber of milliseconds after which the time-based performance improvement score of a non-empty MRS/DMS flush op will reach its maximum value. The score may further increase as the MRS/DMS grows in size.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--txn_background_rpc_timeout_msPeriod (in milliseconds) with which transaction-related background requests are made
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--txn_client_initialization_timeout_msAmount of time Kudu will try to initialize a client with which to perform transaction commit tasks.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime |
--txn_keepalive_interval_msMaximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--txn_staleness_tracker_interval_msPeriod (in milliseconds) of the task that tracks and aborts stale/abandoned transactions. If this flag is set to 0, TxnStatusManager doesn’t automatically abort stale/abandoned transactions even if no keepalive messages are received for longer than defined by the --txn_keepalive_interval_ms flag.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--txn_status_tablet_failover_catchup_timeout_msAmount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--enable_txn_system_client_initWhether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server’s TxnSystemClient to participate in orchestrating transactions.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental |
--txn_system_client_op_timeout_msOp timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--heartbeat_incompatible_replica_management_is_fatalWhether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--heartbeat_interval_msInterval at which the TS heartbeats to the master.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--heartbeat_max_failures_before_backoffMaximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--heartbeat_rpc_timeout_msTimeout used for the TS→Master heartbeat RPCs.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tserver_send_tombstoned_tablets_report_inteval_secsTime interval in seconds of sending a incremental tablets report to delete the tombstoned replicas whose tablets had already been deleted. Turn off this by setting it to a value less than 0. If this interval is set to less than the heartbeat interval, the tablets report will only be sent at the heartbeat interval. And also, please set this interval less than the flag metadata_for_deleted_table_and_tablet_reserved_secs of master if enable_metadata_cleanup_for_deleted_tables_and_tablets is set true. Otherwise, the tombstoned tablets probably could not be deleted.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime |
--completed_scan_history_countNumber of latest scans to keep history for. Determines how many historical latest scans will be shown on the tablet server’s scans dashboard.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--scanner_ttl_msNumber of milliseconds of inactivity allowed for a scanner before it may be expired
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--show_slow_scansWhether to report on 'slow' scans at the /scans WebUI page and in the INFO log. If enabled, well performing full table scans and scans run by lazily-fetching clients may be reported as 'slow' depending on the --slow_scanner_threshold_ms setting.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--slow_scan_history_countNumber of slow scans to keep history for. Determines how many historical slow scans will be shown on the tablet server’s scans dashboard. The threshold for a slow scan is defined with --slow_scanner_threshold_ms.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--slow_scanner_threshold_msNumber of milliseconds for the threshold of slow scan.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tablet_copy_begin_session_timeout_msTablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tablet_copy_download_threads_nums_per_sessionNumber of threads per tablet copy session for downloading tablet data blocks.
Type |
int32 |
|---|---|
Default |
|
Tags |
--tablet_copy_support_download_superblock_in_batchWhether to support download superblock in batch automatically when it is very large.When superblock is small, it can be downloaded once a time.
Type |
bool |
|---|---|
Default |
|
Tags |
--tablet_copy_throttler_burst_factorBurst factor for tablet copy throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate. The default value is 1.0, which means the maximun rate is equals to --tablet_copy_throttler_bytes_per_sec.
Type |
double |
|---|---|
Default |
|
Tags |
--tablet_copy_throttler_bytes_per_secLimit tablet copying speed. It limits the copying speed of all the tablets in one server for one session. The default value is 0, which means not limiting the speed. The unit is bytes/seconds
Type |
int64 |
|---|---|
Default |
|
Tags |
--scanner_batch_size_rowsThe number of rows to batch for servicing scan requests.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--scanner_default_batch_size_bytesThe default size for batches of scan results
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--scanner_max_batch_size_bytesThe maximum batch size that a client may request for scan results.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--scanner_max_wait_msThe maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for waiting longer.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tserver_enforce_access_controlIf set, the server will apply fine-grained access control rules to client RPCs.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime |
--num_tablets_to_copy_simultaneouslyNumber of threads available to copy tablets from remote servers.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--num_tablets_to_delete_simultaneouslyNumber of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--num_tablets_to_open_simultaneouslyNumber of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--num_txn_status_tablets_to_reload_simultaneouslyNumber of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tablet_state_walk_min_period_msMinimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--txn_commit_pool_num_threadsNumber of threads available for transaction commit tasks.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--txn_participant_registration_pool_num_threadsNumber of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--update_tablet_stats_interval_msInterval at which the tablet statistics should be updated. Should be greater than 'heartbeat_interval_ms'
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--cloud_aws_instance_id_urlThe URL to fetch the identifier of an AWS instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_aws_ntp_serverIP address/FQDN of the internal NTP server to use from within an AWS instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_azure_instance_id_urlThe URL to fetch the identifier of an Azure instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_gce_instance_id_urlThe URL to fetch the identifier of a GCE instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_gce_ntp_serverIP address/FQDN of the internal NTP server to use from within a GCE instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_metadata_server_request_timeout_msTimeout for HTTP/HTTPS requests to the instance metadata server (in milliseconds)
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_openstack_metadata_urlThe URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--trusted_certificate_filePath to a file that contains certificate(s) (in PEM format) to trust when Kudu establishes a TLS-protected connection to HTTP/HTTPS server (e.g., KMS service, JWKS server, etc.)
Type |
string |
|---|---|
Default |
none |
Tags |
--trace_to_consoleTrace pattern specifying which trace events should be dumped directly to the console
Type |
string |
|---|---|
Default |
none |
Tags |
experimental |
--crash_on_eioKill the process if an I/O operation results in EIO. If false, I/O resulting in EIOs will return the status IOError and leave error-handling up to the caller.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental,advanced |
--enable_multi_tenancyWhether enable the multi tenancy feature.Should set together with --encrypt_data_at_rest
Type |
bool |
|---|---|
Default |
|
Tags |
experimental,advanced |
--encrypt_data_at_restWhether sensitive files should be encrypted on the file system.
Type |
bool |
|---|---|
Default |
|
Tags |
--env_use_ioctl_hole_punch_on_xfsUse the XFS_IOC_UNRESVSP64 ioctl instead of fallocate(2) to punch holes on XFS filesystems.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental,advanced |
--file_cache_expiry_period_msPeriod of time (in ms) between removing expired file cache descriptors
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--umaskThe umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--jwks_pulling_timeout_sThe time in seconds for connection timed out when pulling JWKS from the specified URL.
Type |
int32 |
|---|---|
Default |
|
Tags |
--jwks_update_frequency_sThe time in seconds to wait between downloading JWKS from the specified URL.
Type |
int32 |
|---|---|
Default |
|
Tags |
--data_gc_min_size_mbThe (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental |
--data_gc_prioritization_probThe probability that we will prioritize data GC over performance improvement operations. If set to 1.0, we will always prefer to delete old data before running performance improvement operations such as delta compaction.
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--log_target_replay_size_mbThe target maximum size of logs to be replayed at startup. If a tablet has in-memory operations that are causing more than this size of logs to be retained, then the maintenance manager will prioritize flushing these operations to disk.
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental |
--maintenance_op_multiplierMultiplier applied on different priority levels, table maintenance OPs on level N has multiplier of FLAGS_maintenance_op_multiplier^N, the last score will be multiplied by this multiplier. Note: this multiplier is only take effect on compaction OPs
Type |
double |
|---|---|
Default |
|
Tags |
runtime,advanced,experimental |
--max_priority_rangeMaximal priority range of OPs.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced,experimental |
--run_non_memory_ops_probThe probability that the tablet server will not flush DRS or MRS while under memory pressure. This is useful when the server is under memory pressure for a long time and there are non-memory operations waiting to be run. The higher value means higher probability to do other ops instead of flushing ops. This might be needed to turn on if system admin found that the tablet server is under memory pressure for a long time and there is a significant degradation in performance.
Type |
double |
|---|---|
Default |
|
Tags |
runtime,experimental |
--metrics_retirement_age_msThe minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced,runtime |
--dns_resolver_cache_capacity_mbCapacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.
Type |
uint32 |
|---|---|
Default |
|
Tags |
advanced |
--dns_resolver_cache_ttl_secTTL of records in the DNS resolver cache, in seconds.
Type |
uint32 |
|---|---|
Default |
|
Tags |
advanced |
--dns_resolver_max_threads_numThe maximum number of threads to use for async DNS resolution
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--host_for_testsHost to use when resolving a given server’s locally bound or advertised addresses.
Type |
string |
|---|---|
Default |
none |
Tags |
--local_ip_for_outbound_socketsIP to bind to when making outgoing socket connections. This must be an IP address of the form A.B.C.D, not a hostname. Advanced parameter, subject to change.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental |
--nvm_cache_pathThe path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.
Type |
string |
|---|---|
Default |
|
Tags |
--nvm_cache_usage_ratioA ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--memory_limit_compact_usage_warn_threshold_percentagePercentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged during an ongoing compaction op.
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--memory_limit_soft_percentagePercentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher soft limit.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--memory_limit_warn_threshold_percentagePercentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--memory_pressure_percentagePercentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tcmalloc_max_free_bytes_percentageMaximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--colorlogtostdoutcolor messages logged to stdout (if supported by terminal)
Type |
bool |
|---|---|
Default |
|
Tags |
--drop_log_memoryDrop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--log_backtrace_atEmit a backtrace when logging at file:linenum.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--logbuflevelBuffer log messages logged at this level or lower (-1 means don’t buffer; 0 means buffer INFO only; …)
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--logbufsecsBuffer log messages for at most this many seconds
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--timestamp_in_logfile_nameput a timestamp at the end of the log file name
Type |
bool |
|---|---|
Default |
|
Tags |
kudu-tserver Unsupported FlagsFlags not marked stable or evolving are considered experimental and are
unsupported. They are included here for informational purposes only and are
subject to being changed or removed without notice.
--block_cache_eviction_policyEviction policy used for block cache. Either 'LRU' (default) or 'SLRU' (experimental).
Type |
string |
|---|---|
Default |
|
Tags |
experimental,advanced |
--block_cache_lookups_before_upgradeNumber of lookups before entry is upgraded from probationary to protected segment. Must be > 0.
Type |
uint32 |
|---|---|
Default |
|
Tags |
experimental |
--block_cache_protected_segment_percentagePercentage of 'block_cache_capacity_mb' that’s the protected segment’s capacity. Ex. For the default parameters of 0.8 for this flag and 512 MB for 'block_cache_capacity_mb', the protected segment will be 0.8 * 512 = 410 MB.Must be >= 0 and ⇐ 1.
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--block_cache_typeWhich type of block cache to use for caching data. Valid choices are 'DRAM' or 'NVM'. DRAM, the default, caches data in regular memory. 'NVM' caches data in a memory-mapped file using the memkind library. To use 'NVM', libmemkind 1.8.0 or newer must be available on the system; otherwise Kudu will crash.
Type |
string |
|---|---|
Default |
|
Tags |
--min_compression_ratioIf a column compression codec is configured, but the codec is unable to achieve a compression ratio at least as good as the configured value, then the data will be written uncompressed. This will reduce CPU overhead on the read side at the expense of a small amount of extra space if the codec encounters portions of data that are not easily compressible.
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--cfile_default_block_sizeThe default block size to use in cfiles
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--cfile_default_compression_codecDefault cfile block compression codec.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--client_tablet_locations_by_id_ttl_msMaximum time in milliseconds that clients will cache tablet locations keyed by tablet ID.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--client_use_unix_domain_socketsWhether to try to connect to tablet servers using unix domain sockets. This will only be attempted if the server has indicated that it is listening on such a socket and the client is running on the same host.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental |
--show_attributesWhether to show column attributes, including column encoding type, compression type, and default read/write value.
Type |
bool |
|---|---|
Default |
|
Tags |
--builtin_ntp_client_bind_addressLocal address to bind client UDP socket used to send and receive NTP packets. The default value '0.0.0.0' is equivalent to '0.0.0.0:0' meaning 'bind to all available IPv4 interfaces using ephemeral ports (i.e. port 0)'. It might be useful to customize this flag if getting through a firewall to reach public NTP servers specified by --builtin_ntp_servers.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--builtin_ntp_poll_interval_msThe time between successive polls of a single NTP server (in milliseconds)
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--builtin_ntp_request_timeout_msTimeout for requests sent to NTP servers (in milliseconds)
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--builtin_ntp_true_time_refresh_max_interval_sMaximum allowed time interval without refreshing computed true time estimation (in seconds)
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--max_clock_sync_error_usecMaximum allowed clock synchronization error as reported by NTP before the server will abort.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--codegen_dump_functionsWhether to print the LLVM IR for generated functions
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--codegen_dump_mcWhether to dump the disassembly of the machine code for generated functions.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--codegen_cache_capacityNumber of entries which may be stored in the code generation cache.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--codegen_queue_capacityNumber of tasks which may be put in the code generation task queue.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--codegen_time_compilationWhether to print time that each code generation request took.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--predicate_effectivess_enabledShould ineffective predicate filtering be disabled
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--predicate_effectivess_num_skip_blocksNumber of blocks to skip for every predicate effectiveness check
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--predicate_effectivess_reject_ratioRejection ratio below which predicate filter is considered ineffective
Type |
double |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cmeta_force_fsyncWhether fsync() should be called when consensus metadata files are updated
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--consensus_rpc_timeout_msTimeout used for all consensus internal RPC communications.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--consensus_max_batch_size_bytesThe maximum per-tablet RPC batch size when updating peers.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--follower_unavailable_considered_failed_secSeconds that a leader is unable to successfully heartbeat to a follower after which the follower is considered to be failed and evicted from the config.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--fs_wal_use_file_cacheWhether to use the server-wide file cache for WAL segments and WAL index chunks.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced,runtime |
--group_commit_queue_size_bytesMaximum size of the group commit queue in bytes
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--log_compression_codecCodec to use for compressing WAL segments.
Type |
string |
|---|---|
Default |
|
Tags |
experimental |
--log_max_segments_to_retainThe maximum number of past log segments to keep at all times for the purposes of catching up other peers.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental,runtime,advanced |
--log_min_segments_to_retainThe minimum number of past log segments to keep at all times, regardless of what is required for durability. Must be at least 1.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced,runtime |
--global_log_cache_size_limit_mbServer-wide version of 'log_cache_size_limit_mb'. The total memory used for caching log entries across all tablets is kept under this threshold.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--log_cache_size_limit_mbThe total per-tablet size of consensus entries which may be kept in memory. The log cache attempts to keep all entries which have not yet been replicated to all followers in memory, but if the total size of those entries exceeds this limit within an individual tablet, the oldest will be evicted.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--log_async_preallocate_segmentsWhether the WAL segments preallocation should happen asynchronously
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--log_preallocate_segmentsWhether the WAL should preallocate the entire segment before writing to it
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--evict_failed_followersWhether to evict followers from the Raft config that have fallen too far behind the leader’s log to catch up normally or have been unreachable by the leader for longer than follower_unavailable_considered_failed_sec
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--leader_failure_exp_backoff_max_delta_msMaximum time to sleep in between leader election retries, in addition to the regular timeout. When leader election fails the interval in between retries increases exponentially, up to this value.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--leader_failure_max_missed_heartbeat_periodsMaximum heartbeat periods that the leader can fail to heartbeat in before we consider the leader to be failed. The total failure timeout in milliseconds is raft_heartbeat_interval_ms times leader_failure_max_missed_heartbeat_periods. The value passed to this flag may be fractional.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--raft_enable_pre_electionWhen enabled, candidates will call a pre-election before running a real leader election.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--raft_enable_tombstoned_votingWhen enabled, tombstoned tablets may vote in elections.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--raft_heartbeat_interval_msThe heartbeat interval 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.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--raft_prepare_replacement_before_evictionWhen enabled, failed replicas will only be evicted after a replacement has been prepared for them.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental,advanced |
--missed_heartbeats_before_rejecting_snapshot_scansThe maximum raft heartbeat periods since the tablet has seen safe time advanced before refusing scans at snapshots that aren’t yet safe and forcing clients to try again.
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--safe_time_advancement_without_writesWhether to enable the advancement of "safe" time in the absense of write operations
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--safe_time_max_lag_msThe maximum amount of time we allow safe time to lag behind the requested timestampbefore forcing the client to retry, in milliseconds.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--block_manager_preflush_controlControls when to pre-flush a block. Valid values are 'finalize', 'close', or 'never'. If 'finalize', blocks will be pre-flushed when writing is finished. If 'close', blocks will be pre-flushed when their transaction is committed. If 'never', blocks will never be pre-flushed but still be flushed when closed.
Type |
string |
|---|---|
Default |
|
Tags |
experimental |
--fs_max_thread_count_per_data_dirMaximum work thread per data directory.
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced |
--log_container_rdb_bits_per_keyAverage number of bits allocated per key in RocksDB bloom filter, for details see https://github.com/facebook/rocksdb/wiki/RocksDB-Bloom-Filter. It is only effective when --block_manager='logr'
Type |
double |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_block_cache_capacity_mbThe block cache capacity of RocksDB in MiB, it is shared by all RocksDB instances in the process. It is only effective when --block_manager='logr'
Type |
uint32 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_db_log_dirThis specifies the info log dir of RocksDB. If it is empty, the log files are in the same dir as data (i.e. each dir in --fs_data_dirs). If it is not empty, the log files will be in the specified dir, and the --fs_data_dirs absolute path will be used as the log file name’s prefixes. It is only effective when --block_manager='logr'
Type |
string |
|---|---|
Default |
none |
Tags |
experimental,advanced |
--log_container_rdb_keep_log_file_numMaximum number of RocksDB info log files to keep. It is only effective when --block_manager='logr'
Type |
uint64 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_level0_file_num_compaction_triggerNumber of files to trigger level-0 compaction in RocksDB. A value <0 means that level-0 compaction will not be triggered by the number of files at all. It is only effective when --block_manager='logr'
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_max_background_jobsThe maximum number of concurrent background jobs (compactions and flushes) shared between RocksDB instances. It is only effective when --block_manager='logr'
Type |
uint32 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_max_log_file_sizeMaximum byte size of the RocksDB info log file. If the log file is larger than specified, a new info log file will be created. If it is 0, all logs will be written to one log file. It is only effective when --block_manager='logr'
Type |
uint64 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_max_manifest_file_sizeThe RocksDB manifest file is rolled over on reaching this byte limit. It is only effective when --block_manager='logr'
Type |
uint64 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_max_write_buffer_numberThe maximum number of write buffers that are built up in memory of each RocksDB instance. It is only effective when --block_manager='logr'
Type |
uint32 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_memtable_prefix_bloom_size_ratioEnables a dynamic bloom filter of RocksDB memtable to optimize many queries that must go beyond the memtable if it is larger than 0. The size in bytes of the filter is --log_container_rdb_write_buffer_size * --log_container_rdb_memtable_prefix_bloom_size_ratio. It is only effective when --block_manager='logr'
Type |
double |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_rdb_write_buffer_sizeThe amount of data in RocksDB to build up in memory (backed by an unsorted log on disk) before converting to a sorted on-disk file. It is only effective when --block_manager='logr'
Type |
uint64 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--block_managerWhich block manager to use for storage. Valid options are 'file', 'log' and 'logr'. The 'file' block manager is not suitable for production use due to scaling limitations.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--cmeta_fsync_override_on_xfsWhether to ignore --cmeta_force_fsync and instead always flush if Kudu detects the server is on XFS. This can prevent consensus metadata corruption in the event of sudden server failure. Disabling this flag may cause data loss in the event of a system crash. See KUDU-2195 for more details.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced,experimental |
--encryption_cluster_key_nameName of the cluster key that is used to encrypt server encryption keys as stored in Ranger KMS.
Type |
string |
|---|---|
Default |
|
Tags |
--encryption_key_providerKey provider implementation to generate and decrypt server keys. Valid values are: 'default' (not for production usage), and 'ranger-kms'.
Type |
string |
|---|---|
Default |
|
Tags |
--fs_wal_dir_reserved_bytesNumber of bytes to reserve on the log directory filesystem for non-Kudu usage. The default, which is represented by -1, is that 1% of the disk space on each disk will be reserved. Any other value specified represents the number of bytes reserved and must be greater than or equal to 0. Explicit percentages to reserve are not currently supported
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime |
--ranger_kms_urlComma-separated list of Ranger KMS server URLs. Must be set when 'encryption_key_provider' is set to 'ranger-kms'.
Type |
string |
|---|---|
Default |
none |
Tags |
--log_block_manager_delete_dead_containerWhen enabled, full and dead log block containers will be deleted at runtime, which can potentially help improving log block manager startup time
Type |
bool |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_excess_space_before_cleanup_fractionAdditional fraction of a log container’s calculated size that must be consumed on disk before the container is considered to be inconsistent and subject to excess space cleanup at block manager startup.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--log_container_live_metadata_before_compact_ratioDesired ratio of live block metadata in log containers. If a container’s live to total block ratio dips below this value, the container’s metadata file will be compacted at startup, or at runtime, based on the configuration of --log_container_metadata_size_before_compact_ratio.
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--log_container_max_blocksMaximum number of blocks (soft) of a log container. Use 0 for no limit. Use -1 for no limit except in the case of a kernel bug with hole punching on ext4 (see KUDU-1508 for details).
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--log_container_max_sizeMaximum size (soft) of a log container
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced |
--log_container_metadata_max_sizeMaximum size (soft) of a log container’s metadata. Use 0 for no limit.
Type |
uint64 |
|---|---|
Default |
|
Tags |
runtime,advanced,experimental |
--log_container_metadata_runtime_compactWhether to enable metadata file compaction at runtime.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced,experimental |
--log_container_metadata_size_before_compact_ratioDesired portion of --log_container_metadata_max_size container metadata must consume before metadata is considered for compaction. If a container’s metadata file exceeds --log_container_metadata_max_size * --log_container_metadata_size_before_compact_ratio, and the number of live blocks falls below --log_container_live_metadata_before_compact_ratio, the container’s metadata will be compacted.
Type |
double |
|---|---|
Default |
|
Tags |
experimental,advanced |
--log_container_preallocate_bytesNumber of bytes to preallocate in a log container when creating new blocks. Set to 0 to disable preallocation
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced |
--log_container_rdb_delete_batch_countThe batch count for deleting blocks in one operation against RocksDB. It is only effective when --block_manager='logr'
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced,experimental |
--ranger_kms_client_generate_key_max_retry_time_sThe maximum retry time for generating encryption keys using the Ranger KMS client. The maximum effective time for adding a new account to Apache Ranger is about 30 seconds, and the retry time for using the client to generate the key should be greater than this value.
Type |
int32 |
|---|---|
Default |
|
Tags |
--rpc_acceptor_listen_backlogSocket backlog parameter used when listening for RPC connections. This defines the maximum length to which the queue of pending TCP connections inbound to the RPC server may grow. The value might be silently capped by the system-level limit on the listened socket’s backlog. The value of -1 has the semantics of the longest possible queue with the length up to the system-level limit. If a connection request arrives when the queue is full, the client may receive an error. Higher values may help the server ride over bursts of new inbound connection requests.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_listen_socket_stats_every_log2Listening RPC socket’s statistics sampling frequency. With --rpc_listen_socket_stats_every_log2=N, the statistics are sampled every 2^N connection request by each acceptor thread. Set this flag to -1 to disable statistics collection on the listening RPC socket.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_encrypt_loopback_connectionsWhether to encrypt data transfer on RPC connections that stay within a single host. Encryption here is likely to offer no additional security benefit since only a local 'root' user could intercept the traffic, and wire encryption does not suitably protect against such an attacker.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--rpc_trace_negotiationIf enabled, dump traces of all RPC negotiations to the log
Type |
bool |
|---|---|
Default |
|
Tags |
experimental,runtime,advanced |
--rpc_callback_max_cyclesThe maximum number of cycles for which an RPC callback should be allowed to run without emitting a warning. (Advanced debugging option)
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tcp_keepalive_probe_period_sThe duration in seconds after an outbound connection has gone idle before a TCP keepalive probe is sent to the peer. Set to 0 to disable TCP keepalive probes from being sent.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tcp_keepalive_retry_countThe maximum number of keepalive probes sent before declaring the remote end as dead. Effective only if --tcp_keepalive_probe_period_s is not 0.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tcp_keepalive_retry_period_sThe duration in seconds between successive keepalive probes from an outbound connection if the previous probes are not acknowledged. Effective only if --tcp_keepalive_probe_period_s is not 0.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--remember_clients_ttl_msMaximum amount of time, in milliseconds, the server "remembers" a client for the purpose of caching its responses. After this period without hearing from it, the client is no longer remembered and the memory occupied by its responses is reclaimed. Retries of requests older than 'remember_clients_ttl_ms' are treated as new ones.
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--remember_responses_ttl_msMaximum amount of time, in milliseconds, the server "remembers" a response to a specific request for a client. After this period has elapsed, the response may have been garbage collected and the client might get a response indicating the request is STALE.
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_dump_all_tracesIf true, dump all RPC traces at INFO level
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--rpc_duration_too_long_msThreshold (in milliseconds) above which a RPC is considered too long and its duration and method name are logged at INFO level. The time measured is between when a RPC is accepted and when its call handler completes.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--rpc_max_message_sizeThe maximum size of a message that any RPC that the server will accept. Must be at least 1MB.
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--spnego_keytab_fileAbsolute path to Kerberos keytab file for HTTP SPNEGO. If it is empty, --keytab_file flag will be used.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--use_system_auth_to_localWhen enabled, use the system krb5 library to map Kerberos principal names to local (short) usernames. If not enabled, the first component of the principal will be used as the short name. For example, 'kudu/foo.example.com@EXAMPLE' will map to 'kudu'.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--ipki_server_key_sizethe number of bits for server cert’s private key. The server cert is used for TLS connections to and from clients and other servers.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--web_log_bytesThe maximum number of bytes to display on the debug webserver’s log page
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--diagnostics_log_stack_traces_interval_msThe interval at which the server will a snapshot of its thread stacks to the diagnostics log. In fact, the server will log at a random interval betweeen zero and twice the configured value to avoid biasing samples towards periodic processes which happen exactly on some particular schedule. If this is set to 0, stack traces will be not be periodically logged, but will still be logged on events such as queue overflows. Setting this to a negative value disables stack trace logging entirely.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental,runtime |
--disable_gflag_filter_logic_for_testingWhether to disable filter logic on the server side for test purpose.
Type |
bool |
|---|---|
Default |
|
Tags |
--rpc_advertised_addressesComma-separated list of addresses to advertise externally for RPC connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound RPC addresses specified in --rpc_bind_addresses are not externally resolvable, for example, if Kudu is deployed in a container.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--rpc_num_acceptors_per_addressNumber of RPC acceptor threads for each bound address
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_proxied_addressesComma-separated list of addresses to accept RPC requests forwarded from external networks (possibly, via a TCP proxy). These are RPC endpoints in the inner network to handle RPC requests forwarded/proxied from outside networks; they are orthogonal to --rpc_advertised_addresses, so these can be used in containerized environments behind a firewall.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental,advanced |
--rpc_proxy_advertised_addressesThis server’s RPC endpoints exposed to the external network via a TCP proxy. It’s assumed that RPCs sent by a Kudu client from the external network are forwarded/proxied to the RPC endpoint in the inner cluster’s network, where the latter is specified by the --rpc_proxied_addresses flag.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental,advanced |
--rpc_reuseportWhether to set the SO_REUSEPORT option on listening RPC sockets.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental |
--rpc_service_queue_lengthDefault length of queue for incoming RPC requests
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--enable_jwt_token_authThis enables JWT authentication, meaning that the server expects a valid JWT to be sent by the client which will be verified when the connection is being established. When true, read the JWT token out of the RPC and extract user name from the token payload.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental |
--gc_tcmalloc_memory_interval_secondsInterval seconds to GC tcmalloc memory, 0 means disabled.
Type |
uint64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--jwks_file_pathFile path of the pre-installed JSON Web Key Set (JWKS) for JWT verification.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental |
--jwks_urlURL of the JSON Web Key Set (JWKS) for JWT verification.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental |
--max_negotiation_threadsMaximum number of connection negotiation threads.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--min_negotiation_threadsMinimum number of connection negotiation threads.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_ca_certificate_filePath to the PEM encoded X509 certificate of the trusted external certificate authority. The provided certificate should be the root issuer of the certificate passed in '--rpc_certificate_file'.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental |
--rpc_certificate_filePath to a PEM encoded X509 certificate to use for securing RPC connections with SSL/TLS. If set, '--rpc_private_key_file' and '--rpc_ca_certificate_file' must be set as well.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental |
--rpc_default_keepalive_time_msIf an RPC connection from a client is idle for this amount of time, the server will disconnect the client. Setting this to any negative value keeps connections always alive.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_listen_on_unix_domain_socketWhether the RPC server should listen on a Unix domain socket. If enabled, the RPC server will bind to a socket in the "abstract namespace" using a name which uniquely identifies the server instance.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental |
--rpc_negotiation_timeout_msTimeout for negotiating an RPC connection, in milliseconds
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--rpc_private_key_filePath to a PEM encoded private key paired with the certificate from '--rpc_certificate_file'
Type |
string |
|---|---|
Default |
none |
Tags |
experimental |
--rpc_private_key_password_cmdA Unix command whose output returns the password used to decrypt the RPC server’s private key file specified in --rpc_private_key_file. If the .PEM key file is not password-protected, this flag does not need to be set. Trailing whitespace will be trimmed before it is used to decrypt the private key.
Type |
string |
|---|---|
Default |
none |
Tags |
--rpc_tls_ciphersTLSv1.2 (and prior) cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL cipher preference list format for TLSv1.2 and prior TLS protocol versions, for customizing TLSv1.3 cipher suites see --rpc_tls_ciphersuites flag. See 'man (1) ciphers' for more information.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--rpc_tls_ciphersuitesTLSv1.3 cipher suite preferences to use for TLS-secured RPC connections. Uses the OpenSSL TLSv1.3 ciphersuite format. See 'man (1) ciphers' for more information. This flag is effective only if Kudu is built with OpenSSL v1.1.1 or newer.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--rpc_tls_excluded_protocolsA comma-separated list of TLS protocol versions to exclude from the set of advertised by the server when securing RPC connections with TLS. An empty string means the set of available TLS protocol versions is defined by the OpenSSL library and --rpc_tls_min_protocol flag.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental,advanced |
--rpc_tls_min_protocolThe minimum protocol version to allow when for securing RPC connections with TLS. May be one of 'TLSv1', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--server_max_open_filesMaximum number of open file descriptors. If 0, Kudu will automatically calculate this value. This is a soft limit
Type |
uint64 |
|---|---|
Default |
|
Tags |
advanced |
--tcmalloc_max_total_thread_cache_bytesUpper limit on total number of bytes stored across all thread cache in tcmalloc. Increasing this value helps in reducing lock contention in tcmalloc for memory-intensive workloads. WARNING: This flag will cover the TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES environment variable. Please change the max size of all thread caches via this flag. Note that This bound is not strict, so it is possible for the cache to go over this bound in certain circumstances. And the maximum value of this flag is capped to 1 GB
Type |
uint64 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--wall_clock_jump_detectionWhether to run a sanity check on wall clock timestamps using the readings of the CLOCK_MONOTONIC_RAW clock as the reference. Acceptable values for this flag are "auto", "enabled", and "disabled". "auto" enables the sanity check in environments known to be susceptible to such clock jumps (e.g., Azure VMs); "enabled" unconditionally enables the check; "disabled" unconditionally disables the check. The threshold for the difference between deltas of consecutive timestamps read from wall and CLOCK_MONOTONIC_RAW clocks is controlled by the --wall_clock_jump_threshold_sec flag.
Type |
string |
|---|---|
Default |
|
Tags |
experimental |
--wall_clock_jump_threshold_secMaximum allowed divergence between the wall and monotonic clocks; effective only when the clock jump protection is enabled
Type |
uint32 |
|---|---|
Default |
|
Tags |
experimental |
--webserver_enabledWhether to enable the web server on this daemon. NOTE: disabling the web server is also likely to prevent monitoring systems from properly capturing metrics.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--metrics_log_interval_msInterval (in milliseconds) at which the server will dump its metrics to a local log file. The log files are located in the same directory as specified by the -log_dir flag. If this is not a positive value, then metrics logging will be disabled.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--webserver_cache_control_optionsThe webserver adds 'Cache-Control' HTTP header with this value to all responses.
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_enable_cspThe webserver adds the Content-Security-Policy header to response when enabled.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_hsts_include_sub_domainsWhether to add 'includeSubDomains' directive into the 'Strict-Transport-Security' header when the latter is enabled. See --webserver_hsts_max_age_seconds’s description for details.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_hsts_max_age_secondsThe time, in seconds, that a browser should remember that the webserver must only be accessed using HTTPS. The HTTP Strict Transport Security (HSTS) policy is implemented by adding a 'Strict-Transport-Security' header. If greater or equal to zero, a TLS-enabled webserver adds the HSTS header with corresponding 'max-age' setting to the response. If the setting is negative, the HSTS header is not present in the response. As an option, it is possible to add 'includeSubDomains' directive as specified by the --webserver_hsts_include_sub_domains flag. WARNING: once enabled, the HSTS policy affects everything at the node/domain, so any HTTP endpoint at the node/domain effectively becomes unreachable to the browser which has reached the embedded webserver at this node via HTTPS
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_max_post_length_bytesThe maximum length of a POST request that will be accepted by the embedded web server.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_x_content_type_optionsThe webserver adds 'X-Content-Type-Options' HTTP header with this value to all responses.
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_x_frame_optionsThe webserver will add an 'X-Frame-Options' HTTP header with this value to all responses. This can help prevent clickjacking attacks.
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--webserver_advertised_addressesComma-separated list of addresses to advertise externally for HTTP(S) connections. Ephemeral ports (i.e. port 0) are not allowed. This should be configured when the locally bound webserver address specified in --webserver_interface and --webserver_port are not externally resolvable, for example, if Kudu is deployed in a container.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--webserver_authentication_domainDomain used for the authentication by the embedded webserver
Type |
string |
|---|---|
Default |
none |
Tags |
--webserver_doc_rootFiles under <webserver_doc_root> are accessible via the embedded webserver. Defaults to $KUDU_HOME/www, or if $KUDU_HOME is not set, disables the document root
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--webserver_enable_doc_rootIf true, webserver may serve static files from the webserver_doc_root
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--webserver_interfaceInterface to start the embedded webserver on. If blank, the webserver binds to 0.0.0.0
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--webserver_num_worker_threadsMaximum number of threads to start for handling webserver requests
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--webserver_password_fileLocation of .htpasswd file containing user names and hashed passwords for the authentication performed by the embedded webserver (NOTE: for better protection, consider configuring SPNEGO using the --webserver_require_spnego flag)
Type |
string |
|---|---|
Default |
none |
Tags |
sensitive |
--webserver_tls_ciphersThe cipher suite preferences to use for webserver HTTPS connections. Uses the OpenSSL cipher preference list format. See man (1) ciphers for more information.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--webserver_tls_min_protocolThe minimum protocol version to allow when for webserver HTTPS connections. May be one of 'TLSv1', 'TLSv1.1', or 'TLSv1.2'.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--budgeted_compaction_target_rowset_sizeThe target size in bytes for DiskRowSets produced by flushes or compactions when the budgeted compaction policy is used.
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--compaction_approximation_ratioApproximation ratio allowed for optimal compaction calculation. A value of 1.05 indicates that the policy may use an approximate result if it is known to be within 5% of the optimal solution.
Type |
double |
|---|---|
Default |
|
Tags |
experimental,advanced |
--compaction_minimum_improvementThe minimum quality for a compaction to run. If a compaction does not improve the average height of DiskRowSets by at least this amount, the compaction will be considered ineligible.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--rowset_compaction_delta_memory_factorThe initial memory-to-disk size factor to estimate the amount of memory necessary to load a rowset’s deltas into memory to perform CompactRowSetsOp. The estimate is obtained by multiplying this factor by the total size of deltas across all rowsets selected for rowset merge compaction. This flag is used when there isn’t enough statistics accumulated for the tablet during the runtime of a tablet server (e.g., upon the very first run of CompactRowSetsOp for a tablet after starting the tablet server) or --rowset_compaction_enforce_preset_factor is set. The factor depends on tablet’s column types, encoding, compression, workload pattern, etc.
Type |
double |
|---|---|
Default |
|
Tags |
runtime,experimental |
--rowset_compaction_enforce_preset_factorWhether to use the preset factor defined by the --rowset_compaction_delta_memory_factor flag even when enough runtime stats have accumulated by the compact_rs_mem_usage_to_deltas_size_ratio metric
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--rowset_compaction_estimate_min_deltas_size_mbMinimum size (in MBytes) of on-disk delta sizes to apply memory budgeting constraints for rowset merge compaction if --rowset_compaction_memory_estimate_enabled set to 'true'. This threshold is also used to decide whether to collect the stats for the compact_rs_mem_usage_to_deltas_size_ratio tablet metric.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--rowset_compaction_memory_estimate_enabledWhether to check for available memory necessary to run CompactRowSetsOp maintenance operations. If the difference between the hard memory limit and current usage is less than the estimated amount necessary to perform the operation, postpone running the operation until there is enough memory available. Use the --rowset_compaction_delta_memory_factor flag to tune the initial factor to estimate the amount of required memory based on the on-disk size of deltas when relevant statistics have not yet accumulated or the --rowset_compaction_enforce_preset_factor flag is set to 'true'.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--all_delete_op_delta_file_cnt_for_compactionThe minimum number of REDO delta files containing only ancient DELETE operations to schedule a major delta compaction on them. A DELETE operation is considered ancient if it was applied more than --tablet_history_max_age_sec seconds ago. With the default setting, this behavior is effectively disabled; see KUDU-3619 for details.
Type |
uint64 |
|---|---|
Default |
|
Tags |
--deltafile_default_block_sizeBlock size for delta files. In the future, this may become configurable on a per-table basis.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--deltafile_default_compression_codecThe compression codec used when writing deltafiles.
Type |
string |
|---|---|
Default |
|
Tags |
experimental |
--default_composite_key_index_block_size_bytesBlock size used for composite key indexes.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--rowset_metadata_store_keysWhether to store the min/max encoded keys in the rowset metadata. If false, keys will be read from the data blocks.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental |
--tablet_delta_store_major_compact_min_ratioMinimum ratio of sizeof(deltas) to sizeof(base data) before a major compaction can run (Advanced option)
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--tablet_delta_store_minor_compact_maxHow many delta stores are required before forcing a minor delta compaction (Advanced option)
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--tablet_transaction_memory_limit_mbMaximum amount of memory that may be consumed by all in-flight ops belonging to a particular tablet. When this limit is reached, new ops will be rejected and clients will be forced to retry them. If -1, op memory tracking is disabled.
Type |
int64 |
|---|---|
Default |
|
Tags |
advanced |
--compaction_small_rowset_tradeoffThe weight of small rowset compaction compared to height-based compaction. This value must be less than -compaction_minimum_improvement to prevent compaction loops. Only change this if you know what you are doing.
Type |
double |
|---|---|
Default |
|
Tags |
runtime,advanced,experimental |
--enable_gc_deleted_rowsets_without_live_row_countWhether to enable 'DeletedRowsetGCOp' for ancient, fully deleted rowsets without live row count stats. This is used to release the storage space of ancient, fully deleted rowsets generated by Kudu clusters that do not have live row count stats. If live row count feature is already supported in your kudu cluster, just ignore this flag.
Type |
bool |
|---|---|
Default |
|
Tags |
advanced |
--rows_writed_per_sec_for_hot_tabletsMinimum write rate for tablets to be considered 'hot' (rows/sec). If a tablet’s write rate exceeds this value, compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--rowset_compaction_ancient_delta_max_ratioThe ratio of data in ancient UNDO deltas to the total amount of data in all deltas across rowsets picked for rowset merge compaction used as a threshold to determine whether to run the operation when --rowset_compaction_ancient_delta_max_ratio is set to 'true'. If the ratio is greater than the threshold defined by this flag, CompactRowSetsOp operations are postponed until UndoDeltaBlockGCOp purges enough of ancient UNDO deltas.
Type |
double |
|---|---|
Default |
|
Tags |
runtime,advanced |
--rowset_compaction_ancient_delta_threshold_enabledWhether to check the ratio of data in ancient UNDO deltas against the threshold set by --rowset_compaction_ancient_delta_max_ratio before running rowset merge compaction. If the ratio of ancient data in UNDO deltas is greater than the threshold, postpone running CompactRowSetsOp until UndoDeltaBlockGCOp purges ancient data and the ratio drops below the threshold (NOTE: regardless of the setting, the effective value of this flag becomes 'false' if --enable_undo_delta_block_gc is set to 'false')
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--scans_started_per_sec_for_hot_tabletsMinimum read rate for tablets to be considered 'hot' (scans/sec). If a tablet’s read rate exceeds this value, flush/compaction ops for it will be assigned the highest possible workload score, which is defined by --workload_score_upper_bound.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--tablet_bloom_block_sizeBlock size of the bloom filters used for tablet keys.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tablet_bloom_target_fp_rateTarget false-positive rate (between 0 and 1) to size tablet key bloom filters. A lower false positive rate may reduce the number of disk seeks required in heavy insert workloads, at the expense of more space and RAM required for bloom filters.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--tablet_compaction_budget_mbBudget for a single compaction
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--tablet_throttler_burst_factorBurst factor for write RPC throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate.
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--tablet_throttler_bytes_per_secMaximum write RPC IO rate (byte/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no limit.
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental |
--tablet_throttler_rpc_per_secMaximum write RPC rate (op/s) allowed for a tablet, write RPC exceeding this limit will be throttled. 0 means no limit.
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental |
--workload_score_upper_boundUpper bound for workload score.
Type |
double |
|---|---|
Default |
|
Tags |
runtime,experimental |
--workload_stats_metric_collection_interval_msThe interval in milliseconds at which we collect workload metrics.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--workload_stats_rate_collection_min_interval_msThe minimal interval in milliseconds at which we collect read/write rates.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--enable_deleted_rowset_gcWhether to enable garbage collection of fully deleted rowsets. Disabling deleted rowset garbage collection may increase disk space usage for workloads that involve a high number of deletes. Only deleted rowsets that are entirely considered ancient history (see --tablet_history_max_age_sec) are deleted.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime |
--enable_workload_score_for_perf_improvement_opsWhether to enable prioritization of maintenance operations based on whether there are on-going workloads, favoring ops of 'hot' tablets.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,experimental |
--update_stats_log_throttling_interval_secLog throttling interval for messages on disabled compaction emitted by UpdateStats method.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental,runtime |
--tablet_max_pending_txn_write_opsMaximum number of write operations to be pending at leader tablet replica per transaction prior to registering the tablet as a participant in the corresponding transaction
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--flush_threshold_mbSize at which MRS/DMS flushes are triggered. A MRS can still flush below this threshold if it hasn’t flushed in a while, or if the server-wide memory limit has been reached.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--flush_threshold_secsNumber of seconds after which a non-empty MRS/DMS will become flushable even if it is not large.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--flush_upper_bound_msNumber of milliseconds after which the time-based performance improvement score of a non-empty MRS/DMS flush op will reach its maximum value. The score may further increase as the MRS/DMS grows in size.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--txn_background_rpc_timeout_msPeriod (in milliseconds) with which transaction-related background requests are made
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--txn_client_initialization_timeout_msAmount of time Kudu will try to initialize a client with which to perform transaction commit tasks.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime |
--txn_keepalive_interval_msMaximum interval (in milliseconds) between subsequent keep-alive heartbeats to let the transaction status manager know that a transaction is not abandoned. If the transaction status manager does not receive a keepalive message for a time interval longer than the specified, the transaction is deemed abandoned and automatically aborted. See the description of the --txn_staleness_tracker_interval_ms flag for more information on abandoned transactions tracking.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--txn_staleness_tracker_interval_msPeriod (in milliseconds) of the task that tracks and aborts stale/abandoned transactions. If this flag is set to 0, TxnStatusManager doesn’t automatically abort stale/abandoned transactions even if no keepalive messages are received for longer than defined by the --txn_keepalive_interval_ms flag.
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,experimental |
--txn_status_tablet_failover_catchup_timeout_msAmount of time to give a newly-elected leader tserver of transaction status tablet to load the metadata containing all operations replicated by the previous leader and become active.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--enable_txn_system_client_initWhether or not background TxnSystemClient initialization should be enabled. Setting this to 'true' allows the server’s TxnSystemClient to participate in orchestrating transactions.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental |
--txn_system_client_op_timeout_msOp timeout used by the TxnSystemClient when making transactions-related RPCs to the TxnStatusManager.
Type |
int64 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--heartbeat_incompatible_replica_management_is_fatalWhether incompatible replica management schemes or unsupported PREPARE_REPLACEMENT_BEFORE_EVICTION feature flag by master are fatal
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--heartbeat_interval_msInterval at which the TS heartbeats to the master.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--heartbeat_max_failures_before_backoffMaximum number of consecutive heartbeat failures until the Tablet Server backs off to the normal heartbeat interval, rather than retrying.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--heartbeat_rpc_timeout_msTimeout used for the TS→Master heartbeat RPCs.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tserver_send_tombstoned_tablets_report_inteval_secsTime interval in seconds of sending a incremental tablets report to delete the tombstoned replicas whose tablets had already been deleted. Turn off this by setting it to a value less than 0. If this interval is set to less than the heartbeat interval, the tablets report will only be sent at the heartbeat interval. And also, please set this interval less than the flag metadata_for_deleted_table_and_tablet_reserved_secs of master if enable_metadata_cleanup_for_deleted_tables_and_tablets is set true. Otherwise, the tombstoned tablets probably could not be deleted.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime |
--completed_scan_history_countNumber of latest scans to keep history for. Determines how many historical latest scans will be shown on the tablet server’s scans dashboard.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--scanner_ttl_msNumber of milliseconds of inactivity allowed for a scanner before it may be expired
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--show_slow_scansWhether to report on 'slow' scans at the /scans WebUI page and in the INFO log. If enabled, well performing full table scans and scans run by lazily-fetching clients may be reported as 'slow' depending on the --slow_scanner_threshold_ms setting.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--slow_scan_history_countNumber of slow scans to keep history for. Determines how many historical slow scans will be shown on the tablet server’s scans dashboard. The threshold for a slow scan is defined with --slow_scanner_threshold_ms.
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental |
--slow_scanner_threshold_msNumber of milliseconds for the threshold of slow scan.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tablet_copy_begin_session_timeout_msTablet server RPC client timeout for BeginTabletCopySession calls. Also used for EndTabletCopySession calls.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tablet_copy_download_threads_nums_per_sessionNumber of threads per tablet copy session for downloading tablet data blocks.
Type |
int32 |
|---|---|
Default |
|
Tags |
--tablet_copy_support_download_superblock_in_batchWhether to support download superblock in batch automatically when it is very large.When superblock is small, it can be downloaded once a time.
Type |
bool |
|---|---|
Default |
|
Tags |
--tablet_copy_throttler_burst_factorBurst factor for tablet copy throttling. The maximum rate the throttler allows within a token refill period (100ms) equals burst factor multiply base rate. The default value is 1.0, which means the maximun rate is equals to --tablet_copy_throttler_bytes_per_sec.
Type |
double |
|---|---|
Default |
|
Tags |
--tablet_copy_throttler_bytes_per_secLimit tablet copying speed. It limits the copying speed of all the tablets in one server for one session. The default value is 0, which means not limiting the speed. The unit is bytes/seconds
Type |
int64 |
|---|---|
Default |
|
Tags |
--tablet_apply_pool_overload_threshold_msThe threshold for the queue time of the 'apply' thread pool to enter and exit overloaded state. Once the queue stalls and its queue times become longer than the specified threshold, it enters the overloaded state. Tablet server rejects incoming write requests with some probability when its apply queue is overloaded. The longer the apply queue stays overloaded, the greater the probability of the rejection. In addition, the more row operations a write request has, the greater the probablity of the rejection. The apply queue exits the overloaded state when queue times drop below the specified threshold. Set this flag to 0 to disable the behavior described above.
Type |
uint32 |
|---|---|
Default |
|
Tags |
advanced |
--scanner_batch_size_rowsThe number of rows to batch for servicing scan requests.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--scanner_default_batch_size_bytesThe default size for batches of scan results
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--scanner_max_batch_size_bytesThe maximum batch size that a client may request for scan results.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--scanner_max_wait_msThe maximum amount of time (in milliseconds) a scan at a snapshot is allowed to wait for safe time to advance or pending write operations to apply, even if the deadline of the scan request itself allows for waiting longer.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--tserver_enforce_access_controlIf set, the server will apply fine-grained access control rules to client RPCs.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime |
--num_tablets_to_copy_simultaneouslyNumber of threads available to copy tablets from remote servers.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--num_tablets_to_delete_simultaneouslyNumber of threads available to delete tablets. If this is set to 0 (the default), then the number of delete threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--num_tablets_to_open_simultaneouslyNumber of threads available to open tablets during startup. If this is set to 0 (the default), then the number of bootstrap threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--num_txn_status_tablets_to_reload_simultaneouslyNumber of threads available to reload transaction status tablets in memory metadata. If this is set to 0 (the default), then the number of reload threads will be set based on the number of data directories. If the data directories are on some very fast storage device such as SSD or a RAID array, it may make sense to manually tune this.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tablet_state_walk_min_period_msMinimum amount of time in milliseconds between walks of the tablet map to update tablet state counts.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--txn_commit_pool_num_threadsNumber of threads available for transaction commit tasks.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--txn_participant_registration_pool_num_threadsNumber of threads available for tasks to register tablets as transaction participants upon receiving write operations in the context of multi-row transactions
Type |
int32 |
|---|---|
Default |
|
Tags |
experimental,advanced |
--update_tablet_stats_interval_msInterval at which the tablet statistics should be updated. Should be greater than 'heartbeat_interval_ms'
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--cloud_aws_instance_id_urlThe URL to fetch the identifier of an AWS instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_aws_ntp_serverIP address/FQDN of the internal NTP server to use from within an AWS instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_azure_instance_id_urlThe URL to fetch the identifier of an Azure instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_gce_instance_id_urlThe URL to fetch the identifier of a GCE instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_gce_ntp_serverIP address/FQDN of the internal NTP server to use from within a GCE instance
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_metadata_server_request_timeout_msTimeout for HTTP/HTTPS requests to the instance metadata server (in milliseconds)
Type |
uint32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--cloud_openstack_metadata_urlThe URL to fetch metadata of an OpenStack instance via Nova metadata service. OpenStack Nova metadata server does not provide a separate URL to fetch instance UUID, at least with 12.0.0 (Liberty) release.
Type |
string |
|---|---|
Default |
|
Tags |
runtime,advanced |
--trusted_certificate_filePath to a file that contains certificate(s) (in PEM format) to trust when Kudu establishes a TLS-protected connection to HTTP/HTTPS server (e.g., KMS service, JWKS server, etc.)
Type |
string |
|---|---|
Default |
none |
Tags |
--trace_to_consoleTrace pattern specifying which trace events should be dumped directly to the console
Type |
string |
|---|---|
Default |
none |
Tags |
experimental |
--crash_on_eioKill the process if an I/O operation results in EIO. If false, I/O resulting in EIOs will return the status IOError and leave error-handling up to the caller.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental,advanced |
--enable_multi_tenancyWhether enable the multi tenancy feature.Should set together with --encrypt_data_at_rest
Type |
bool |
|---|---|
Default |
|
Tags |
experimental,advanced |
--encrypt_data_at_restWhether sensitive files should be encrypted on the file system.
Type |
bool |
|---|---|
Default |
|
Tags |
--env_use_ioctl_hole_punch_on_xfsUse the XFS_IOC_UNRESVSP64 ioctl instead of fallocate(2) to punch holes on XFS filesystems.
Type |
bool |
|---|---|
Default |
|
Tags |
experimental,advanced |
--file_cache_expiry_period_msPeriod of time (in ms) between removing expired file cache descriptors
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--umaskThe umask that will be used when creating files and directories. Permissions of top-level data directories will also be modified at start-up to conform to the given umask. Changing this value may enable unauthorized local users to read or modify data stored by Kudu.
Type |
string |
|---|---|
Default |
|
Tags |
advanced |
--jwks_pulling_timeout_sThe time in seconds for connection timed out when pulling JWKS from the specified URL.
Type |
int32 |
|---|---|
Default |
|
Tags |
--jwks_update_frequency_sThe time in seconds to wait between downloading JWKS from the specified URL.
Type |
int32 |
|---|---|
Default |
|
Tags |
--data_gc_min_size_mbThe (exclusive) minimum number of mebibytes of ancient data on disk, per tablet, needed to prioritize deletion of that data.
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental |
--data_gc_prioritization_probThe probability that we will prioritize data GC over performance improvement operations. If set to 1.0, we will always prefer to delete old data before running performance improvement operations such as delta compaction.
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--log_target_replay_size_mbThe target maximum size of logs to be replayed at startup. If a tablet has in-memory operations that are causing more than this size of logs to be retained, then the maintenance manager will prioritize flushing these operations to disk.
Type |
int64 |
|---|---|
Default |
|
Tags |
experimental |
--maintenance_op_multiplierMultiplier applied on different priority levels, table maintenance OPs on level N has multiplier of FLAGS_maintenance_op_multiplier^N, the last score will be multiplied by this multiplier. Note: this multiplier is only take effect on compaction OPs
Type |
double |
|---|---|
Default |
|
Tags |
runtime,advanced,experimental |
--max_priority_rangeMaximal priority range of OPs.
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced,experimental |
--run_non_memory_ops_probThe probability that the tablet server will not flush DRS or MRS while under memory pressure. This is useful when the server is under memory pressure for a long time and there are non-memory operations waiting to be run. The higher value means higher probability to do other ops instead of flushing ops. This might be needed to turn on if system admin found that the tablet server is under memory pressure for a long time and there is a significant degradation in performance.
Type |
double |
|---|---|
Default |
|
Tags |
runtime,experimental |
--metrics_retirement_age_msThe minimum number of milliseconds a metric will be kept for after it is no longer active. (Advanced option)
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced,runtime |
--dns_resolver_cache_capacity_mbCapacity of DNS resolver cache, in MiBytes. For each key, the cache stores records returned by getaddrinfo(). A value of 0 means the results of DNS name resolution are not cached.
Type |
uint32 |
|---|---|
Default |
|
Tags |
advanced |
--dns_resolver_cache_ttl_secTTL of records in the DNS resolver cache, in seconds.
Type |
uint32 |
|---|---|
Default |
|
Tags |
advanced |
--dns_resolver_max_threads_numThe maximum number of threads to use for async DNS resolution
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--host_for_testsHost to use when resolving a given server’s locally bound or advertised addresses.
Type |
string |
|---|---|
Default |
none |
Tags |
--local_ip_for_outbound_socketsIP to bind to when making outgoing socket connections. This must be an IP address of the form A.B.C.D, not a hostname. Advanced parameter, subject to change.
Type |
string |
|---|---|
Default |
none |
Tags |
experimental |
--nvm_cache_pathThe path at which the NVM cache will try to allocate its memory. This can be a tmpfs or ramfs for testing purposes.
Type |
string |
|---|---|
Default |
|
Tags |
--nvm_cache_usage_ratioA ratio to set the usage of nvm cache. The charge of an item in the nvm cache is equal to the results of memkind_malloc_usable_size multiplied by the ratio.
Type |
double |
|---|---|
Default |
|
Tags |
advanced |
--memory_limit_compact_usage_warn_threshold_percentagePercentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged during an ongoing compaction op.
Type |
double |
|---|---|
Default |
|
Tags |
experimental |
--memory_limit_soft_percentagePercentage of the hard memory limit that this daemon may consume before memory throttling of writes begins. The greater the excess, the higher the chance of throttling. In general, a lower soft limit leads to smoother write latencies but decreased throughput, and vice versa for a higher soft limit.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--memory_limit_warn_threshold_percentagePercentage of the hard memory limit that this daemon may consume before WARNING level messages are periodically logged.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--memory_pressure_percentagePercentage of the hard memory limit that this daemon may consume before flushing of in-memory data becomes prioritized.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--tcmalloc_max_free_bytes_percentageMaximum percentage of the RSS that tcmalloc is allowed to use for reserved but unallocated memory.
Type |
int32 |
|---|---|
Default |
|
Tags |
advanced |
--colorlogtostdoutcolor messages logged to stdout (if supported by terminal)
Type |
bool |
|---|---|
Default |
|
Tags |
--drop_log_memoryDrop in-memory buffers of log contents. Logs can grow very quickly and they are rarely read before they need to be evicted from memory. Instead, drop them from memory as soon as they are flushed to disk.
Type |
bool |
|---|---|
Default |
|
Tags |
runtime,advanced |
--log_backtrace_atEmit a backtrace when logging at file:linenum.
Type |
string |
|---|---|
Default |
none |
Tags |
advanced |
--logbuflevelBuffer log messages logged at this level or lower (-1 means don’t buffer; 0 means buffer INFO only; …)
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--logbufsecsBuffer log messages for at most this many seconds
Type |
int32 |
|---|---|
Default |
|
Tags |
runtime,advanced |
--timestamp_in_logfile_nameput a timestamp at the end of the log file name
Type |
bool |
|---|---|
Default |
|
Tags |