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

Posted

技术标签:

【中文标题】无法使用 impala-shell 在 kudu 中创建表【英文标题】:not able to create table in kudu using impala-shell 【发布时间】:2018-07-03 13:25:19 【问题描述】:

我正在研究 hadoop、hive、impala 和 kudu。安装了 HADOOP、HIVE、IMPALA 和 KUDU 服务器。

我已经在 /etc/default -> impala 文件中配置了 --kudu_master_hosts=:。即如下所示:

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>"

=============== 之后重新启动服务器。 然后使用 Kudu JAVA 客户端,我能够在 kudu 中创建表并能够插入一些记录。

然后通过这样做在 impala 中映射同一个表:

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 文档,但没有得到任何想法。

问候, 阿克谢

【问题讨论】:

【参考方案1】:

此查询将有助于创建表,即

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

只有在 /etc/default impala 文件中设置了 --kudu_master_hosts=: 时,此查询才会起作用。 否则,您必须在表属性中提供 kudu_master_hosts。即

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

【讨论】:

您也可以在 KUDU 网页中的 Tables 选项卡下进行验证。即 http://:8051/tables

以上是关于无法使用 impala-shell 在 kudu 中创建表的主要内容,如果未能解决你的问题,请参考以下文章

无法使用镜头 kudu sink 连接器将数据从 kafka 主题插入或更新到 kudu 表

impala 实操

无法将 Impala-Kudu 连接到 Apache Kudu(没有 Cloudera Manager):获取 TTransportException 错误

客快物流大数据项目(七十一):impala-shell命令参数

在 impala-shell 中运行 Python 脚本

如何处理我在尝试通过 Pyspark 从 SQL 写入 Kudu 时遇到的这个错误