You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Chesnay Schepler (Jira)" <ji...@apache.org> on 2022/11/18 10:21:00 UTC

[jira] [Reopened] (FLINK-29878) Fail to use flink-sql-connector-hive-3.1.3

     [ https://issues.apache.org/jira/browse/FLINK-29878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chesnay Schepler reopened FLINK-29878:
--------------------------------------

The added dependency is nut bundled in the sql jar, since the shade-plugin artifactSet was not adjusted accordingly.

> Fail to use flink-sql-connector-hive-3.1.3
> ------------------------------------------
>
>                 Key: FLINK-29878
>                 URL: https://issues.apache.org/jira/browse/FLINK-29878
>             Project: Flink
>          Issue Type: Bug
>          Components: Connectors / Hive
>    Affects Versions: 1.17.0
>            Reporter: luoyuxia
>            Assignee: Samrat Deb
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.17.0
>
>
> When I try to use flink-sql-connector-hive-3.1.3, it will throw the following exception:
> {code:java}
> ava.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConfUtil
>     at org.apache.hadoop.hive.conf.HiveConf.initialize(HiveConf.java:5170) ~[flink-sql-connector-hive-3.1.3_2.12-1.17-SNAPSHOT.jar:1.17-SNAPSHOT]
>     at org.apache.hadoop.hive.conf.HiveConf.<init>(HiveConf.java:5114) ~[flink-sql-connector-hive-3.1.3_2.12-1.17-SNAPSHOT.jar:1.17-SNAPSHOT]
>     at org.apache.flink.table.catalog.hive.HiveCatalog.createHiveConf(HiveCatalog.java:261) ~[flink-sql-connector-hive-3.1.3_2.12-1.17-SNAPSHOT.jar:1.17-SNAPSHOT]
>     at org.apache.flink.table.endpoint.hive.HiveServer2EndpointFactory.createSqlGatewayEndpoint(HiveServer2EndpointFactory.java:71) ~[flink-sql-connector-hive-3.1.3_2.12-1.17-SNAPSHOT.jar:1.17-SNAPSHOT]{code}
> After I don't exclude it in the pom,
> {code:java}
> <exclude>org/apache/hadoop/hive/conf/HiveConf.class</exclude>
> <exclude>org/apache/hadoop/hive/metastore/HiveMetaStoreClient.class</exclude> {code}
> it'll throw the exception:
> {code:java}
> aused by: java.lang.NoClassDefFoundError: com/facebook/fb303/FacebookService$Iface
>     at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_252]
>     at java.lang.ClassLoader.defineClass(ClassLoader.java:756) ~[?:1.8.0_252]
>     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_252]
>     at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) ~[?:1.8.0_252]
>     at java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[?:1.8.0_252]
>     at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[?:1.8.0_252]
>     at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[?:1.8.0_252]
>     at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_252]
>     at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[?:1.8.0_252]
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_252]
>     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) ~[?:1.8.0_252]
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_252]
>     at java.lang.Class.forName0(Native Method) ~[?:1.8.0_252]
>     at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_252]
>     at org.apache.hadoop.hive.metastore.utils.JavaUtils.getClass(JavaUtils.java:52) ~[flink-sql-connector-hive-3.1.3_2.12-1.17-SNAPSHOT.jar:1.17-SNAPSHOT]
>     at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:146) ~[flink-sql-connector-hive-3.1.3_2.12-1.17-SNAPSHOT.jar:1.17-SNAPSHOT] {code}
> Then i add the dependency. Seems it works now.
> {code:java}
> <dependency>
>    <groupId>org.apache.thrift</groupId>
>    <artifactId>libfb303</artifactId>
>    <version>0.9.3</version>
> </dependency> {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)