Impala创建Kudu表时报错:缺少kudu.master_addresses属性
创建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)
报错信息显示缺少'kudu.master_addresses'属性,需要在impalad启动标志'-kudu_master_hosts'未使用时设置。
建议
添加'kudu.master_addresses'属性并重新执行该命令。例如:
CREATE TABLE lx_testb7
(
id BIGINT,
name STRING,
PRIMARY KEY(id)
)
PARTITION BY HASH PARTITIONS 16 STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='<kudu_master_host1>:<kudu_master_port>,<kudu_master_host2>:<kudu_master_port>');
其中,<kudu_master_host1>和<kudu_master_host2>分别代表Kudu主节点的地址,<kudu_master_port>代表Kudu主节点的端口号。
注意:
- 如果impalad启动时使用了'-kudu_master_hosts'标志,则无需设置'kudu.master_addresses'属性。
- 'kudu.master_addresses'属性的值需要是逗号分隔的Kudu主节点地址列表,例如'host1:port1,host2:port2'。
原文地址: https://www.cveoy.top/t/topic/ol3g 著作权归作者所有。请勿转载和采集!