无法使用impala shell在kudu中创建表

kr98yfug  于 2021-06-26  发布在  Impala
关注(0)|答案(1)|浏览(736)

我在做hadoop、hive、impala和kudu的研发。已安装hadoop、hive、impala和kudu服务器。
我已经在/etc/default->impala文件中配置了--kudu\u master\u hosts=。i、 如下图所示:

IMPALA_SERVER_ARGS=" \
    -log_dir=${IMPALA_LOG_DIR} \
    -catalog_service_host=${IMPALA_CATALOG_SERVICE_HOST} \
    -state_store_port=${IMPALA_STATE_STORE_PORT} \
    -use_statestore \
    -state_store_host=${IMPALA_STATE_STORE_HOST} \
    -be_port=${IMPALA_BACKEND_PORT}\
    --kudu_master_hosts=<HOST_NAME>:<PORT>"

================重新启动服务器之后。然后使用kudujava客户机,我可以在kudu中创建表并插入一些记录。
然后在impala中Map相同的表:

CREATE EXTERNAL TABLE my_mapping_table
STORED AS KUDU
TBLPROPERTIES (
  'kudu.table_name' = 'testT1'
);

成功地访问了 Impala 的kudu表,并且能够看到所有的记录。现在我正在尝试使用impala shell在kudu中创建一个表。

[<HOST_NAME>:21000] > CREATE TABLE my_first_table
                               > (
                               >   id BIGINT,
                               >   name STRING,
                               >   PRIMARY KEY(id)
                               > )
                               > STORED AS KUDU;

但这是一个错误,即:

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

有谁能告诉我发生了什么,或者这个错误的解决方法是什么。
通读kudu文档,但没有任何想法。
你好,阿克谢

smdncfj3

smdncfj31#

这个查询将有助于创建表,即

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

只有在/etc/default impala文件中设置了-kudu\u master\u hosts=:时,此查询才会工作。否则必须在表属性中提供kudu\u master\u hosts。即

TBLPROPERTIES (
      'kudu.num_tablet_replicas' = '1',
       --kudu_master_hosts=<HOST_NAME>:<PORT>
    );

相关问题