可以尝试使用hive 2.3.7 版本,这个里面解决了一部分 hive 不兼容jdk11的问题,我们线上已经使用一年多了

















At 2021-11-22 12:00:07, "aiden" <18765295...@163.com> wrote:
>求助,jdk从8升级到11后使用hive作为flink 
>table的catalog抛错,排查是bsTableEnv.registerCatalog(catalogName, catalog) 抛错,具体异常为:
>11:55:22.343 [main] ERROR hive.log - Got exception: 
>java.lang.ClassCastException class [Ljava.lang.Object; cannot be cast to class 
>[Ljava.net.URI; ([Ljava.lang.Object; and [Ljava.net.URI; are in module 
>java.base of loader 'bootstrap')
>java.lang.ClassCastException: class [Ljava.lang.Object; cannot be cast to 
>class [Ljava.net.URI; ([Ljava.lang.Object; and [Ljava.net.URI; are in module 
>java.base of loader 'bootstrap')
>at 
>org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:274)
> [hive-exec-2.1.1.jar:2.1.1]
>at 
>org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:210)
> [hive-exec-2.1.1.jar:2.1.1]
>at 
>java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method) ~[?:?]
>at 
>java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> [?:?]
>at 
>java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> [?:?]
>at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) 
>[?:?]
>at 
>org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1652)
> [hive-exec-2.1.1.jar:2.1.1]
>at 
>org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.<init>(RetryingMetaStoreClient.java:80)
> [hive-exec-2.1.1.jar:2.1.1]
>at 
>org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:130)
> [hive-exec-2.1.1.jar:2.1.1]
>at 
>org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:115)
> [hive-exec-2.1.1.jar:2.1.1]
>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:566) ~[?:?]
>at 
>org.apache.flink.table.catalog.hive.client.HiveShimV200.getHiveMetastoreClient(HiveShimV200.java:54)
> [flink-connector-hive_2.11-1.14.0.jar:1.14.0]
>at 
>org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper.createMetastoreClient(HiveMetastoreClientWrapper.java:277)
> [flink-connector-hive_2.11-1.14.0.jar:1.14.0]
>at 
>org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper.<init>(HiveMetastoreClientWrapper.java:78)
> [flink-connector-hive_2.11-1.14.0.jar:1.14.0]
>at 
>org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper.<init>(HiveMetastoreClientWrapper.java:68)
> [flink-connector-hive_2.11-1.14.0.jar:1.14.0]
>at 
>org.apache.flink.table.catalog.hive.client.HiveMetastoreClientFactory.create(HiveMetastoreClientFactory.java:32)
> [flink-connector-hive_2.11-1.14.0.jar:1.14.0]
>at org.apache.flink.table.catalog.hive.HiveCatalog.open(HiveCatalog.java:296) 
>[flink-connector-hive_2.11-1.14.0.jar:1.14.0]
>at 
>org.apache.flink.table.catalog.CatalogManager.registerCatalog(CatalogManager.java:195)
> [flink-table-api-java-1.14.0.jar:1.14.0]
>at 
>org.apache.flink.table.api.internal.TableEnvironmentImpl.registerCatalog(TableEnvironmentImpl.java:373)
> [flink-table-api-java-1.14.0.jar:1.14.0]
>at catalogTest.FlinkExecTableRun.flinkMain(FlinkExecTableRun.java:27) 
>[classes/:?]
>at catalogTest.test.main(test.java:11) [classes/:?]
>11:55:22.348 [main] ERROR hive.log - Converting exception to MetaException
>Exception in thread "main" 
>org.apache.flink.table.catalog.exceptions.CatalogException: Failed to create 
>Hive Metastore client
>at 
>org.apache.flink.table.catalog.hive.client.HiveShimV200.getHiveMetastoreClient(HiveShimV200.java:61)
>at 
>org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper.createMetastoreClient(HiveMetastoreClientWrapper.java:277)
>at 
>org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper.<init>(HiveMetastoreClientWrapper.java:78)
>at 
>org.apache.flink.table.catalog.hive.client.HiveMetastoreClientWrapper.<init>(HiveMetastoreClientWrapper.java:68)
>at 
>org.apache.flink.table.catalog.hive.client.HiveMetastoreClientFactory.create(HiveMetastoreClientFactory.java:32)
>at org.apache.flink.table.catalog.hive.HiveCatalog.open(HiveCatalog.java:296)
>at 
>org.apache.flink.table.catalog.CatalogManager.registerCatalog(CatalogManager.java:195)
>at 
>org.apache.flink.table.api.internal.TableEnvironmentImpl.registerCatalog(TableEnvironmentImpl.java:373)
>at catalogTest.FlinkExecTableRun.flinkMain(FlinkExecTableRun.java:27)
>at catalogTest.test.main(test.java:11)
>Caused by: java.lang.reflect.InvocationTargetException
>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:566)
>at 
>org.apache.flink.table.catalog.hive.client.HiveShimV200.getHiveMetastoreClient(HiveShimV200.java:54)
>... 9 more
>Caused by: java.lang.RuntimeException: Unable to instantiate 
>org.apache.hadoop.hive.metastore.HiveMetaStoreClient
>at 
>org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1654)
>at 
>org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.<init>(RetryingMetaStoreClient.java:80)
>at 
>org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:130)
>at 
>org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:115)
>... 14 more
>Caused by: java.lang.reflect.InvocationTargetException
>at 
>java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
>at 
>java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>at 
>java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
>at 
>org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1652)
>... 17 more
>Caused by: MetaException(message:Got exception: java.lang.ClassCastException 
>class [Ljava.lang.Object; cannot be cast to class [Ljava.net.URI; 
>([Ljava.lang.Object; and [Ljava.net.URI; are in module java.base of loader 
>'bootstrap'))
>at 
>org.apache.hadoop.hive.metastore.MetaStoreUtils.logAndThrowMetaException(MetaStoreUtils.java:1342)
>at 
>org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:278)
>at 
>org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:210)
>... 22 more

回复