企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 已知的问题和限制 原文链接 : [http://kudu.apache.org/docs/known_issues.html](http://kudu.apache.org/docs/known_issues.html) 译文链接 : [http://cwiki.apachecn.org/pages/viewpage.action?pageId=10813650](http://cwiki.apachecn.org/pages/viewpage.action?pageId=10813650) 贡献者 : [小瑶](/display/~chenyao) [ApacheCN](/display/~apachecn) [Apache中文网](/display/~apachechina) ## Schema ( 架构 ) ### Primary keys ( 主键 ) * 创建表后,主键可能不会更改。您必须删除并重新创建表以选择新的主键。 * 构成主键的列必须首先列在模式中。 * 一行的主键可能不会使用 **UPDATE** 功能进行修改。要修改行的主键,必须删除该行并使用修改的密钥重新插入。这样的修改是非原子的。 * 不能使用 **DOUBLE** , **FLOAT** 或 **BOOL** 类型的列作为主键定义的一部分。另外,作为主键定义的一部分的所有列都必须为 NULL 。 * 不支持自动生成的主键。 * 组合复合主键的单元在 **Kudu** 完成的内部复合密钥编码后,总共限制在16KB。 ### Columns ( 列 ) * **DECIMAL**,**CHAR**,**VARCHAR**,**DATE** 和 **ARRAY** 等复杂类型不受支持。 * 不能通过更改表来更改现有列的类型和可空性。 * 表格最多可以有 **300** 列。 ### Tables ( 表 ) * 表必须有奇数个副本,最多 **7** 个。 * 无法更改复制因子(在表创建时设置)。 ### Cells (individual values) ( 单元格 ( 个体值 )) * 在编码或压缩之前,单元格不能大于 **64KB** 。 ### Other usage limitations  ( 其他使用限制 ) * **Kudu** 主要用于分析用例。如果单行包含多个千字节的数据,则可能会遇到问题。 * 不支持辅助索引。 * 不支持多行事务。 * 不支持关系功能,如外键。 * 诸如列和表名称的标识符被限制为有效的 **UTF-8** 字符串。另外,执行最大长度为 **256** 个字符。 * 删除列不会立即回收空间。**Compaction  **必须先运行。 * 没有办法手动运行压缩,但删除表将立即回收空间。 ## Partitioning Limitations ( 分区限制 ) * 表必须使用简单或复合主键手动预分割成 **tablets **。自动拆分还不可能。创建表后,可能会添加或删除范围分区。有关详细信息,请参阅 [模式设计](/pages/viewpage.action?pageId=10813632)。 * 现有表中的数据当前无法自动重新分区。作为解决方法,使用新的分区创建一个新表,并插入旧表的内容。 * 丢失大多数 **replicas** 的 **tablets **(例如 **3** 中剩下的 **1** 个)需要手动干预才能修复。 ## Cluster management ( 集群管理 ) * **Rack awareness** ( 机架意识 ) 不受支持。 * 不支持 **Multi-datacenter** ( 多数据中心 )。 * 不支持 **Rolling restart** ( 滚动重新启动 )。 ## Server management ( 服务器管理 ) * 生产部署应为 **tablet servers** 配置至少 **4GB** 的内存,理想情况下应为 **10GB** 以上。 * 写入日志(**WAL**)只能存储在一个磁盘上。 * 不能容忍磁盘故障,一旦检测到 **tablet server** 就会崩溃。 * 无法恢复数据的磁盘故障需要格式化该**tablet server**的所有 **Kudu** 数据,才能再次启动。 * 数据目录无法 添加/删除 ;所有这些都必须重新格式化以更改目录集。 * **tablet servers** 无法正常 **decommissioned** 。 * **tablet servers** 无法更改地址/端口。 * **Kudu** 对于最新的 **NTP** 具有严格的要求。 **Kudu**的**master** 和**tablet servers**在不同步时会崩溃。 * **Kudu** 版本只能使用 **NTP** 进行测试。其他时间同步提供商,如 **Chrony** 可能或可能不工作。 ## Scale ( 规模 ) * 推荐的最大数量的 **tablet servers** 是**100**。 * 建议的最大 **masters** 数是 **3** 。 * 推荐的最大数量的存储数据,复制后和压缩后每个 **tablet server**  是 **4TB**。 * 每个 **tablet server **的最大平均 **tablets** 推荐数量为 **1000 **次,**post-replication** 。 * 每个 **tablet server**  的每个表的最大 **tablet** 数是 **60**,复制后,创建表。 ## Replication and Backup Limitations ( 复制和备份限制 ) * **Kudu** 当前不包括用于备份和还原的任何内置功能。鼓励用户使用 **Spark** 或 **Impala** 等工具,根据需要导出或导入表格。 ## Security Limitations ( 安全限制 ) * 授权仅在全系统,粗粒度级别提供。表级,列级和行级授权功能不可用。 * 据报道,**Kudu** 已经报告在使用本地块设备加密(例如 **dmcrypt **)的系统上正确运行 **Kudu** 。 * **Kudu** 服务器 **Kerberos** **principals **必须遵循模式 **kudu/<HOST>@DEFAULT.REALM** 。不支持配置备用 **Kerberos principal  **。 * **Kudu** 与 **Apache** **Flume** 的集成不支持写入需要 **Kerberos** 认证的 **Kudu** 集群。 * 首次联系群集时,**Kudu** 客户端实例将检索身份验证令牌。这些令牌在一周后到期。使用单个 **Kudu** 客户端实例超过一周仅由 **C ++** 客户端支持,但不受 **Java** 客户端的支持。 ## Other Known Issues ( 其他已知问题 ) 以下是 **Kudu** 当前版本的已知错误和问题。他们将在以后的版本中解决。请注意,此列表并不详尽,仅用于沟通最重要的已知问题。 * 如果 **Kudu master** 配置了 **-log_force_fsync_all** 选项,则 **tablet server** 和客户端将经历频繁的超时,并且集群可能无法使用。 * 如果 **tablet servers** 的 **tablet** 数量很多,可能需要几分钟才能启动。建议将每台服务器的 **tablet** 数量限制在 **100** 个以下。在分割表格时考虑这个限制。如果您注意到启动时间较慢,则可以监控 **Web UI** 中每个服务器的 **tablets** 数量。 * 在 **hostname** 中包含大写字母的 **hosts** 上,**Kerberos** 身份验证功能不正确。 * 如果在 **krb5.conf** 中配置了 **rdns = false** ,则 **Kerberos** 身份验证功能不正常。