kudu使用注意事项

目录

主键

单元格

分区

其他问题

服务器管理

规模

复制和备份

其他问题:


1、表的副本数必须为 奇数,最多7。
2、副本数在建表的时候指定,之后无法更改。

主键

1、表创建后,主键不能修改。必须删除重指定新的 

2、主键列必须在非之前
3、 主键列的值不能使用 UPDATEUPDATEUPDATEUPDATEUPDATEUPDATE函数修改。如果要主键的值只能删除 该行重新插入。
4、 DOUBLE   、  FLOAT或BOOL 类型的列不能作为 主键,此外必须NOT NULL 。
5、 不支持自动生成的主键(如自增列)
6、 组合主键的所有列在编码后,大小不能于 16K

1、不支持 CHAR 、VARCHAR 、DATE 和数组等复杂类型。
2、不能通过 ALTER   TABLE 更改现有列的类型和是否可为 空属性
3、DECIMAL 类型列的精度和规模不能通过 ALTER TABLE 进行修改( Kudu 1.7+才支持 decimal类型)
4、表最多可以有 300

单元格

单个元格的值在编码或压缩前不能大于 64KB 

分区

1、表必须使用简单或复合主键手动分区。目前不支持自动分区

2、 Range 分区可以在建表后添加或删除。
3、 表中已有的数据无法重新自动分区。一种解决方案,创建个新表并制定的分区,然后将旧数据插入。
4、 失去大部分副本的 tablet (比如三个副本中的一)需要人工 干预才能恢复。

其他问题

1、 kudu主要是为分析用例设计的,如果单行中包含多个千字节元格则可能会遇到 问题。
2、 不支持二级索引。
3、 不支持多行事物。
3、不支持外键等关系特性。
4、表名和列必须为有效的 UTF UTF-8字符串,最大长度为 256 个字符。
5、删除列并不会立即释放空间, compaction 运行后才会释放。
6、 无法手动执行 compaction ,但是删除表之后立即释放空间。

服务器管理

1、生产部署时应该为 tablet server分配至少 4G 内存,在接近数据和 tablet的限制时,最好 配置大于 16G 的内存。
2、 预写日志( WAL )只能存储在磁盘上。
3、 磁盘故障是无法容忍的, 一旦检测到tablet server就会崩溃。
4、无法恢复数据的磁盘需要格式化该 tablet server 的所有 Kudu数据,然后才能重新启动。
5、 无法添加或删除数据目录,必须对所有进行重新格式化以更改集。
6、Tablet servers不能优雅地退役。
7、 不能更改 tablet servers  的地址和端口。
8、Kudu对时钟同步有严格的要求, 一旦时钟不同步, Kudu的 master和 tablet server就会 崩溃。
9、 Kudu发行版只在 NTP 中进行过测试,其他时钟同步程序不保证正常工作

规模

1、建议 tablet server 最多为 100 台。
2、 建议  master最多为 3个。
3、建议的最大数据存储量为,复制和压缩后每个 tablet server 8TB t。
4、 建议每个 tablet server tablet 管理的 tablet 为2000 ,包含 tablet 的副本。
5、在创建表时,每个 Tablet server的每个表最大 tablet 数为 60 。
6、 基于以上限制,可推测出一下内容:
Kudu 中存储的总数据量建议为: tablet server的数据量 =100*8TB=800TB ,即 Kudu不适用于存储 PB 级数据。
 单个 tablet的数据量建议为:单个 tablet server的数据量 /每个 tablet server中tablet的总数 =8TB/2000=4G 。Kudu支持的压缩方式有 LZ4,Snappy,或 zlib。鉴于各种压缩算法的比 一般不超过 50% ,则每个 tablet中的数据量在压缩前大小建议应于 2G 。

复制和备份

kudu 目前没有任何内置备份和恢复功能。建议用户在 必要的时候使用 spark或impala等

其他问题:

1、如果 Kudu master配置了 -log_force_fsync_all选项、 tablet servers  和客 户端将经常超时,集群可能变得不可用。
2、如果一个 tablet server有大量的 tablet tablettablettablet,启动可能需要几分钟。建议将每 台服务器的平板电脑数量限制在 100 或更少。在预拆分表时,请考虑这个 限制。如果您注意到启动时间较慢,可以在 web UI中监视每个服务器 的tablet 数量。
3、 Kerberos身份验证在主机名中包含大写字母的上不能正常运行。
4、 如果在 krb5.conf中配置 rdns= false ,Kerberos身份验证将不能正常工 作。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值