我在创建从配置单元到hbase的外部表时遇到了这个问题。我在JDK11.0中使用Hadoop3.2.2、Hive2.3.8和hbase 2.3.4。我启动hadoop和hbase,所有服务(hmaster、regionserver、zookeeper等)都运行良好。但是得到这个错误:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:MetaException(message:java.io.IOException: java.lang.reflect.InvocationTargetException
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:240)
at org.apache.hadoop.hbase.client.ConnectionManager.createConnection(ConnectionManager.java:420)
at org.apache.hadoop.hbase.client.ConnectionManager.createConnection(ConnectionManager.java:413)
at org.apache.hadoop.hbase.client.ConnectionManager.getConnectionInternal(ConnectionManager.java:291)
at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:222)
at org.apache.hadoop.hive.hbase.HBaseStorageHandler.getHBaseAdmin(HBaseStorageHandler.java:125)
at org.apache.hadoop.hive.hbase.HBaseStorageHandler.preCreateTable(HBaseStorageHandler.java:205)
at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:747)
at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createTable(HiveMetaStoreClient.java:740)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:173)
at com.sun.proxy.$Proxy37.createTable(Unknown Source)
at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:852)
at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:867)
at org.apache.hadoop.hive.ql.exec.DDLTask.createTable(DDLTask.java:4356)
at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:354)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:199)
at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:100)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:2183)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1839)
at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1526)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1237)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1227)
at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:233)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:184)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:403)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:821)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:759)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:686)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.apache.hadoop.util.RunJar.run(RunJar.java:323)
at org.apache.hadoop.util.RunJar.main(RunJar.java:236)
原因:java.base/jdk.internal.reflect.nativeconstructoraccessorimpl.newinstance0(本机方法)处java.base/jdk.internal.reflect.nativeconstructoraccessorimpl.newinstance0(本机方法)处java.base/jdk.internal.reflect.nativeconstructoraccessorimpl.newinstance0(本机方法)。java:62)在java.base/jdk.internal.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl。java:45)在java.base/java.lang.reflect.constructor.newinstancewithcaller(constructor。java:500)在java.base/java.lang.reflect.constructor.newinstance(constructor。java:481)在org.apache.hadoop.hbase.client.connectionfactory.createconnection(connectionfactory。java:238) ... 37其他原因:java.lang.unsupportedoperationexception:构造函数在org.apache.hadoop.hbase.util.reflectionutils.instantiate(reflectionutils)处为org.apache.hadoop.hbase.ipc.rpcclientimpl引发异常。java:54)位于org.apache.hadoop.hbase.util.reflectionutils.instanceWithCustomctor(reflectionutils。java:34)在org.apache.hadoop.hbase.ipc.rpcclientfactory.createclient(rpcclientfactory)。java:64)位于org.apache.hadoop.hbase.ipc.rpcclientfactory.createclient(rpcclientfactory)。java:48)在org.apache.hadoop.hbase.client.connectionmanager$hconnectionimplementation。java:637) ... 43更多原因是:java.base/jdk.internal.reflect.nativeconstructoraccessorimpl.newinstance0(本机方法)处java.base/jdk.internal.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl)处的java.lang.reflect.invocationtargetexception。java:62)在java.base/jdk.internal.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl。java:45)在java.base/java.lang.reflect.constructor.newinstancewithcaller(constructor。java:500)在java.base/java.lang.reflect.constructor.newinstance(constructor。java:481)在org.apache.hadoop.hbase.util.reflectionutils.instantiate(reflectionutils。java:46) ... 47其他原因:java.lang.noclassdeffounderror:无法在org.apache.hadoop.hbase.ipc.ipcutil.(ipcutil)处初始化类org.apache.hadoop.hbase.util.classsize。java:72)在org.apache.hadoop.hbase.ipc.abstractrpcclient。java:91)在org.apache.hadoop.hbase.ipc.rpcclientimpl.(rpcclientimpl。java:1072)在org.apache.hadoop.hbase.ipc.rpcclientimpl.(rpcclientimpl。java:1098) ... 53更多)位于org.apache.hadoop.hive.hbase.hbaservaragehandler.gethbaseadmin(hbaservaragehandler)。java:129)位于org.apache.hadoop.hive.hbase.hbastoragehandler.precreatetable(hbastoragehandler)。java:205)位于org.apache.hadoop.hive.metastore.hivemetastoreclient.createtable(hivemetastoreclient。java:747)在org.apache.hadoop.hive.metastore.hivemetastoreclient.createtable(hivemetastoreclient。java:740)位于java.base/jdk.internal.reflect.nativemethodaccessorimpl.invoke0(本机方法),位于java.base/jdk.internal.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl)。java:62)在java.base/jdk.internal.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:43)在java.base/java.lang.reflect.method.invoke(method。java:564)位于org.apache.hadoop.hive.metastore.retryingmetastoreclient.invoke(retryingmetastoreclient。java:173)位于com.sun.proxy.$proxy37.createtable(未知源)org.apache.hadoop.hive.ql.metadata.hive.createtable(配置单元。java:852)在org.apache.hadoop.hive.ql.metadata.hive.createtable(hive。java:867)位于org.apache.hadoop.hive.ql.exec.ddltask.createtable(ddltask)。java:4356)位于org.apache.hadoop.hive.ql.exec.ddltask.execute(ddltask)。java:354)在org.apache.hadoop.hive.ql.exec.task.executetask(任务。java:199)在org.apache.hadoop.hive.ql.exec.taskrunner.runsequential(taskrunner。java:100)在org.apache.hadoop.hive.ql.driver.launchtask(driver。java:2183)在org.apache.hadoop.hive.ql.driver.execute(driver。java:1839)在org.apache.hadoop.hive.ql.driver.runinternal(driver。java:1526)在org.apache.hadoop.hive.ql.driver.run(driver。java:1237)在org.apache.hadoop.hive.ql.driver.run(驱动程序。java:1227)在org.apache.hadoop.hive.cli.clidriver.processlocalcmd(clidriver。java:233)在org.apache.hadoop.hive.cli.clidriver.processcmd(clidriver。java:184)在org.apache.hadoop.hive.cli.clidriver.processline(clidriver。java:403)在org.apache.hadoop.hive.cli.clidriver.executedriver(clidriver。java:821) 在org.apache.hadoop.hive.cli.clidriver.run(clidriver。java:759)位于org.apache.hadoop.hive.cli.clidriver.main(clidriver。java:686)位于java.base/jdk.internal.reflect.nativemethodaccessorimpl.invoke0(本机方法),位于java.base/jdk.internal.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl)。java:62)在java.base/jdk.internal.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:43)在java.base/java.lang.reflect.method.invoke(method。java:564)在org.apache.hadoop.util.runjar.run(runjar。java:323)在org.apache.hadoop.util.runjar.main(runjar。java:236) )
暂无答案!
目前还没有任何答案,快来回答吧!