不可恢复的异常:没有足够的活动平板服务器来创建具有请求的复制因子3的表1台平板电脑服务器处于活动状态

sqougxex  于 2021-06-26  发布在  Impala
关注(0)|答案(2)|浏览(542)

我试图用 Impala 壳创建一个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。

**

dgsult0t

dgsult0t1#

除此之外,您还可以将kudu配置中的“默认副本数”设置为1。这样就避免了在键入的每个命令中设置此选项的麻烦。您可以从cloudera manager-->kudu-->configuration访问此配置,然后搜索“default number of replicas”(默认副本数),您可能需要取消此设置以避免出现警告消息,因为建议的设置为3。

ki1q1bka

ki1q1bka2#

NonRecoverableException: Not enough live tablet servers to create a table with the requested replication factor 3 ,发生此错误是因为未指定查询中的复制因子
在kudu中,默认复制因子为3。
如果您在查询独立集群中运行,在这种情况下,kudu(kudu tserver)中只有1台tablet服务器处于活动状态,则上述查询复制因子应为1
您可以通过设置
表\u num \u 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

相关问题