我在研究 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 文档,但没有得到任何想法。
问候, 阿克谢