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
表信息,用来表示表中列的信息。