更新时间:2024-08-05 GMT+08:00

Kudu应用开发常用概念

Table

Kudu Table可以创建为内部表或外部表,其中内部表由Impala管理,而外部表不由Impala管理,但可以通过Impala进行查询。

Table有schema和primary key属性,且可以划分为多个tablet。

Tablet

Tablet是指数据分片,可以指定副本数,存放在多个tablet server上,多个副本中有一个是leader tablet;所有的副本都可以读,但是写操作只有leader tablet可以,写操作利用一致性算法(Raft)。

Tablet server

Tablet server是数据存储节点,存放tablet并且响应client请求,一个tablet server存放多个tablet。

Master

Master是中心管理节点,负责管理所有的tablet、tablet server以及副本之间的关联关系。同一时间集群中只有一个acting master(leader master),如果leader master故障,一个新的master会通过Raft算法选举出来。所有的master数据都存放在一个tablet中,这个tablet会被复制到所有的candidate master上;tablet server会定期向master发送心跳。

Kudu

Kudu的管理工具,可以用来检查集群的健康状况、日常运维等操作。

keytab文件

存放用户信息的密钥文件,应用程序采用此密钥文件在组件中进行API方式认证。

Schema

表信息,用来表示表中列的信息。