Configuring Apache Kudu

Kudu is easier to configure with Cloudera Manager than in a standalone installation. See Cloudera’s Kudu documentation for more details about using Kudu with Cloudera Manager.

Configure Kudu

Configuration Basics

To configure the behavior of each Kudu process, you can pass command-line flags when you start it, or read those options from configuration files by passing them using one or more --flagfile=<file> options. You can even include the --flagfile option within your configuration file to include other files. Learn more about gflags by reading its documentation.

You can place options for masters and tablet servers into the same configuration file, and each will ignore options that do not apply.

Flags can be prefixed with either one or two - characters. This documentation standardizes on two: --example_flag.

Discovering Configuration Options

Only the most common configuration options are documented here. For a more exhaustive list of configuration options, see the Configuration Reference.

To see all configuration flags for a given executable, run it with the --help option. Take care when configuring undocumented flags, as not every possible configuration has been tested, and undocumented options are not guaranteed to be maintained in future releases.

Configuring the Kudu Master

To see all available configuration options for the kudu-master executable, run it with the --help option:

$ kudu-master --help
Table 1. Supported Configuration Flags for Kudu Masters
Flag Valid Options Default Description

--master_addresses

string

localhost

Comma-separated list of all the RPC addresses for Master consensus-configuration. If not specified, assumes a standalone Master.

--fs_data_dirs

string

Comma-separated list of directories where the Master will place its data blocks.

--fs_wal_dir

string

The directory where the Master will place its write-ahead logs. May be the same as one of the directories listed in --fs_data_dirs, but not a sub-directory of a data directory.

--log_dir

string

/var/log/kudu

The directory to store Master log files.

For the full list of flags for masters, see the Kudu Master Configuration Reference.

Configuring Tablet Servers

To see all available configuration options for the kudu-tserver executable, run it with the --help option:

$ kudu-tserver --help
Table 2. Supported Configuration Flags for Kudu Tablet Servers
Flag Valid Options Default Description

--fs_data_dirs

string

Comma-separated list of directories where the Tablet Server will place its data blocks.

--fs_wal_dir

string

The directory where the Tablet Server will place its write-ahead logs. May be the same as one of the directories listed in --fs_data_dirs, but not a sub-directory of a data directory.

--log_dir

string

/var/log/kudu

The directory to store Tablet Server log files

--tserver_master_addrs

string

127.0.0.1:7051

Comma separated addresses of the masters which the tablet server should connect to. The masters do not read this flag.

--block_cache_capacity_mb

integer

512

Maximum amount of memory allocated to the Kudu Tablet Server’s block cache.

--memory_limit_hard_bytes

integer

4294967296

Maximum amount of memory a Tablet Server can consume before it starts rejecting all incoming writes.

For the full list of flags for tablet servers, see the Kudu Tablet Server Configuration Reference.