4.1、配置Kudu

4.1.1、基本配置

要配置每个Kudu进程的行为,您可以在启动它时传递命令行标志,或者通过使用一个或多个—flagfile=选项从配置文件中读取这些选项。您甚至可以在配置文件中包含—flagfile选项来包含其他文件。通过阅读gflags的文档了解更多关于它的信息。
您可以将主服务器和平板服务器的选项放在相同的配置文件中,它们都会忽略不适用的选项。

标记可以用一个或两个字符作为前缀。本文档标准化了两个方面:—xample_flag。

4.1.2、发现配置选项

这里只记录了最常见的配置选项。有关更详细的配置选项列表,请参见配置参考。
要查看给定可执行文件的所有配置标志,请使用——help选项运行它。在配置未记录的标志时要小心,因为并不是所有可能的配置都经过了测试,而且未记录的选项也不能保证在未来的版本中得到维护。

4.1.3、目录配置

每个Kudu节点都需要指定目录标志。—fs_wal_dir 配置指示了Kudu将其预写日志放置的位置。—fs_metadata_dir配置指出Kudu将在何处放置每个平板的元数据。虽然没有必要,但建议将这些目录放置在具有高带宽和低延迟的高性能驱动器上,例如固态驱动器。如果没有指定—fs_metadata_dir,则元数据将被放置到—fs_wal_dir指定的目录中。由于Kudu节点不能容忍WAL或元数据目录的丢失,因此最好镜像包含这些目录的驱动器,以便更容易地从驱动器故障中恢复;但是,镜像可能会增加Kudu写的延迟。
—fs_data_dirs配置指示了Kudu将其数据块写入的位置。这是一个逗号分隔的目录列表;如果指定多个值,则数据将跨目录进行条带化。如果不指定,数据块将被放置在—fs_wal_dir指定的目录中。请注意,虽然由RAID-0阵列支持的单个数据目录的性能要好于由单个存储设备支持的单个数据目录,但最好是让Kudu在多个设备上管理自己的条带化,而不是将条带化委托给RAID-0阵列。

另外,—fs_wal_dir和—fs_metadata_dir可能与—fs_data_dirs中列出的某个目录相同,但不能是它们的子目录。

给定机器上由配置标志指定的每个目录最多只能被一个Kudu进程使用。如果同一台机器上的多个Kudu进程被配置为使用同一个目录,则可能会拒绝启动Kudu。
一旦设置了—fs_data_dirs,就需要额外的工具来更改它。要了解更多细节,请参见Kudu Administration文档。
可以更改—fs_wal_dir和—fs_metadata_dir配置,前提是目录的内容也被移动以匹配标志。

4.1.4、配置Kudu Master

要查看kudu-master可执行文件的所有可用配置选项,请使用—help选项运行它:

  1. $ kudu-master --help

表1 Kudu master支持的配置标志

标志 有效的选项 默认 描述
—master_addresses string localhost 主共识配置的所有RPC地址的逗号分隔列表。如果未指定,则假定为独立的Master。
—fs_data_dirs string 主节点将放置其数据块的目录列表。
—fs_metadata_dir string Master将放置其平板元数据的目录。
—fs_wal_dir string 主服务器将放置其预写日志的目录。
—log_dir string /tmp 存放主日志文件的目录。

有关主机的完整标志列表,请参见Kudu主机配置参考

4.1.5、配置Tablet Servers

要查看kudu-tserver可执行文件的所有可用配置选项,请使用——help选项运行它:

  1. $ kudu-tserver --help

表2.Kudu平板服务器支持的配置标志

标志 有效的选项 默认 描述
—fs_data_dirs string 平板服务器将放置其数据块的目录列表。
—fs_metadata_dir string Tablet Server将放置其Tablet元数据的目录。
—fs_wal_dir string Tablet Server将放置其预写日志的目录。
—log_dir string /tmp 存放Tablet Server日志文件的目录
—tserver_master_addrs string 127.0.0.1:7051 用逗号分隔的平板服务器应该连接到的主服务器地址。主人不读这面旗。
—block_cache_capacity_mb integer 512 分配给Kudu平板服务器块缓存的最大内存量。
—memory_limit_hard_bytes integer 4294967296 Tablet Server在开始拒绝所有写入之前所能消耗的最大内存。

有关平板服务器标志的完整列表,请参见《Kudu平板服务器配置参考》。

4.2、配置Kudu Tables

Kudu允许为每个表设置某些配置。要配置Kudu表的行为,可以在创建表时设置这些配置,也可以通过Kudu API或Kudu命令行工具修改这些配置。

表3。Kudu表支持的可配置属性

配置 有效的选项 默认 描述
kudu.table.history_max_age_sec integer 该表中为平板电脑保留历史记录的秒数。
kudu.table.maintenance_priority integer 0 表维护的优先级。