Impala 创建 Kudu 表报错:'kudu.master_addresses' 属性缺失
Impala 创建 Kudu 表报错:'kudu.master_addresses' 属性缺失
在使用 Impala 创建 Kudu 表时,可能会遇到以下报错信息:
java.sql.SQLException[Cloudera][ImpalaJDBCDriver](500051) ERROR processing query/statement. Error Code: 0, SQL state: TStatus(statusCode:ERROR_STATUS, sqlState:HY000, errorMessage:AnalysisException: Table property 'kudu.master_addresses' is required when the impalad startup flag -kudu_master_hosts is not used.
), Query: CREATE TABLE lx_testb7
(
id BIGINT,
name STRING,
PRIMARY KEY(id)
)
PARTITION BY HASH PARTITIONS 16
STORED AS KUDU.
at com.cloudera.impala.hivecommon.api.HS2Client.buildExceptionFromTStatusSqlState(Unknown Source)
at com.cloudera.impala.hivecommon.api.HS2Client.buildExceptionFromTStatus(Unknown Source)
at com.cloudera.impala.hivecommon.api.HS2Client.checkResponseStatus(Unknown Source)
at com.cloudera.impala.hivecommon.api.HS2Client.executeStatementInternal(Unknown Source)
at com.cloudera.impala.hivecommon.api.HS2Client.executeStatement(Unknown Source)
at com.cloudera.impala.hivecommon.dataengine.HiveJDBCNativeQueryExecutor.executeRowCountQueryHelper(Unknown Source)
at com.cloudera.impala.hivecommon.dataengine.HiveJDBCNativeQueryExecutor.execute(Unknown Source)
at com.cloudera.impala.jdbc.common.SPreparedStatement.executeWithParams(Unknown Source)
at com.cloudera.impala.jdbc.common.SPreparedStatement.execute(Unknown Source)
at com.startdt.simba.core.ImpalaRunner.run(ImpalaRunner.java:100)
at com.startdt.simba.core.ImpalaConnection.connect(ImpalaConnection.java:27)
at com.startdt.simba.transport.factory.SimbaConnectionFactory.putConnection(SimbaConnectionFactory.java:42)
at com.startdt.simba.core.ImpalaConnector.runPlan(ImpalaConnector.java:63)
at com.startdt.simba.core.ImpalaDispose.execPlan(ImpalaDispose.java:33)
at com.startdt.simba.portal.dispose.DisposeFactory$SendHandler.doWithEvent(DisposeFactory.java:188)
at com.startdt.simba.portal.dispose.DisposeFactory$SendHandler.run(DisposeFactory.java:176)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
2023-05-30 14:55:14,549 admin@datasimba 作业执行结束......内容:报错信息为:Table property 'kudu.master_addresses' is required when the impalad startup flag -kudu_master_hosts is not used. 分析异常:当未使用impalad启动标志-kudu_master_hosts时,需要表属性'kudu.master_addresses'。
报错原因:
这个报错信息表明,在没有使用 impalad 启动标志 -kudu_master_hosts 的情况下,创建 Kudu 表时必须指定 kudu.master_addresses 属性。
解决方法:
- 在创建 Kudu 表时,使用
kudu.master_addresses属性指定 Kudu Master 的地址。例如:
CREATE TABLE lx_testb7 (
id BIGINT,
name STRING,
PRIMARY KEY(id)
)PARTITION BY HASH PARTITIONS 16
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='kudu_master1:7051,kudu_master2:7051');
- 在启动 impalad 时使用
-kudu_master_hosts标志指定 Kudu Master 的地址。例如:
./impala-daemon --config_file /etc/impala/impala.conf --start --role impalad -kudu_master_hosts kudu_master1:7051,kudu_master2:7051
注意事项:
- 如果使用
-kudu_master_hosts标志,则无需在创建表时指定kudu.master_addresses属性。 - Kudu Master 的地址需要根据实际情况进行修改。
通过以上方法,可以解决 Impala 创建 Kudu 表时遇到的 kudu.master_addresses 属性缺失的问题。
原文地址: https://www.cveoy.top/t/topic/ol2E 著作权归作者所有。请勿转载和采集!