无法使用 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://以上是关于无法使用 impala-shell 在 kudu 中创建表的主要内容,如果未能解决你的问题,请参考以下文章
无法使用镜头 kudu sink 连接器将数据从 kafka 主题插入或更新到 kudu 表
无法将 Impala-Kudu 连接到 Apache Kudu(没有 Cloudera Manager):获取 TTransportException 错误