NonRecoverableException:实时平板电脑服务器不足,无法创建具有请求的复制因子3的表。1平板电脑服务器处于活动状态

时间:2018-08-07 06:27:34

标签: impala apache-kudu

我正在尝试使用 Impala-shell 创建 Kudu表

查询

CREATE TABLE lol
(
  uname STRING,
  age INTEGER,
  PRIMARY KEY(uname)
)
STORED AS KUDU
TBLPROPERTIES (
'kudu.master_addresses' = '127.0.0.1'
);

CREATE TABLE t (k INT PRIMARY KEY) STORED AS KUDU
TBLPROPERTIES (
'kudu.master_addresses' = '127.0.0.1'
);

但是我遇到了错误:

ERROR: ImpalaRuntimeException: Error creating Kudu table 'impala::default.t'
CAUSED BY: NonRecoverableException: Not enough live tablet servers to create a table with the requested replication factor 3. 1 tablet servers are alive.

请建议对此应采取的措施。 我刚来过Kudu。

**

2 个答案:

答案 0 :(得分:1)

NonRecoverableException: Not enough live tablet servers to create a table with the requested replication factor 3,因为在查询未指定复制因子

中而发生此错误

KUDU 中,默认复制因子= 3。

如果您在查询独立群集中运行,则在这种情况下,kudu的(kudu tserver)中只有1台平板电脑服务器处于活动状态 以上查询复制因子应为1

您可以通过设置

根据需要改变复制因子

table_num_replicas(可选)      -副本数

查询:

                         CREATE TABLE lol
                         (
                           uname STRING,
                           age INTEGER,
                           PRIMARY KEY(uname)
                         )
                         STORED AS KUDU
                         TBLPROPERTIES (
                         'kudu.master_addresses' = '127.0.0.1',
                         'kudu.num_tablet_replicas' = '1'
                        );

在KUDU中,应指定大量数据分区。

查询:

create table test 
(
id int not null,
code string,
primary key(id)
) 
partition by hash partitions 8 
stored as KUDU 
TBLPROPERTIES ( 
'kudu.master_addresses' = '127.0.0.1' ,
'kudu.num_tablet_replicas' = '1'
);

有关设置更多属性的信息,请参见https://kudu.apache.org/docs/command_line_tools_reference.html

答案 1 :(得分:0)

除了答案外,您还可以在Kudu的配置中将“默认副本数”设置为1。这样可以避免在键入的每个命令中都麻烦设置此副本。 您可以从Cloudera Manager-> Kudu->配置访问此配置 然后搜索“默认副本数” 您可能需要取消设置以避免出现警告消息,因为建议的设置是3。