zhangbutao commented on PR #5606: URL: https://github.com/apache/hive/pull/5606#issuecomment-2677314612
> @henrib Tried to deploy this PR on my local pc, but found two issues when starting Iceberg REST Catalog server: > > ``` > <property> > <name>hive.metastore.catalog.servlet.port</name> > <value>9088</value> > <description>iceberg rest catalog port</description> > </property> > ``` > > 1. Missing Iceberg REST Catalog related class: > This is because the jar `hive/standalone-metastore/metastore-iceberg-catalog/target/hive-standalone-metastore-iceberg-catalog-4.1.0-SNAPSHOT.jar` is not included in the binary package. > > ``` > 2025-02-20T09:37:32,144 WARN [main] metastore.HiveMetaStore: unable to start Iceberg REST Catalog server, missing jar? > java.lang.ClassNotFoundException: org.apache.iceberg.rest.HMSCatalogServer > at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_221] > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_221] > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[?:1.8.0_221] > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_221] > at java.lang.Class.forName0(Native Method) ~[?:1.8.0_221] > at java.lang.Class.forName(Class.java:264) ~[?:1.8.0_221] > at org.apache.hadoop.hive.metastore.HiveMetaStore.startIcebergCatalog(HiveMetaStore.java:769) ~[hive-exec-4.1.0-SNAPSHOT.jar:4.1.0-SNAPSHOT] > at org.apache.hadoop.hive.metastore.HiveMetaStore.startMetaStore(HiveMetaStore.java:762) ~[hive-exec-4.1.0-SNAPSHOT.jar:4.1.0-SNAPSHOT] > at org.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:368) ~[hive-exec-4.1.0-SNAPSHOT.jar:4.1.0-SNAPSHOT] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_221] > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_221] > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_221] > at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_221] > at org.apache.hadoop.util.RunJar.run(RunJar.java:328) ~[hadoop-common-3.3.6.jar:?] > at org.apache.hadoop.util.RunJar.main(RunJar.java:241) ~[hadoop-common-3.3.6.jar:?] > ``` > > 2. NoClassDefFoundError: org/apache/hc/core5/http/ContentType > After I manually put this `hive-standalone-metastore-iceberg-catalog-4.1.0-SNAPSHOT.jar` into hive lib, I still get errors when starting HMS: > > ``` > 2025-02-20T09:51:44,014 ERROR [main] metastore.HiveMetaStore: unable to start Iceberg REST Catalog server > java.lang.reflect.InvocationTargetException: null > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_221] > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_221] > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_221] > at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_221] > at org.apache.hadoop.hive.metastore.HiveMetaStore.startIcebergCatalog(HiveMetaStore.java:771) ~[hive-exec-4.1.0-SNAPSHOT.jar:4.1.0-SNAPSHOT] > at org.apache.hadoop.hive.metastore.HiveMetaStore.startMetaStore(HiveMetaStore.java:762) ~[hive-exec-4.1.0-SNAPSHOT.jar:4.1.0-SNAPSHOT] > at org.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:368) ~[hive-exec-4.1.0-SNAPSHOT.jar:4.1.0-SNAPSHOT] > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_221] > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_221] > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_221] > at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_221] > at org.apache.hadoop.util.RunJar.run(RunJar.java:328) ~[hadoop-common-3.3.6.jar:?] > at org.apache.hadoop.util.RunJar.main(RunJar.java:241) ~[hadoop-common-3.3.6.jar:?] > Caused by: java.lang.NoClassDefFoundError: org/apache/hc/core5/http/ContentType > at org.apache.iceberg.rest.HMSCatalogServlet.<init>(HMSCatalogServlet.java:54) ~[hive-standalone-metastore-iceberg-catalog-4.1.0-SNAPSHOT.jar:4.1.0-SNAPSHOT] > at org.apache.iceberg.rest.HMSCatalogServer.createServlet(HMSCatalogServer.java:100) ~[hive-standalone-metastore-iceberg-catalog-4.1.0-SNAPSHOT.jar:4.1.0-SNAPSHOT] > at org.apache.iceberg.rest.HMSCatalogServer.createServlet(HMSCatalogServer.java:111) ~[hive-standalone-metastore-iceberg-catalog-4.1.0-SNAPSHOT.jar:4.1.0-SNAPSHOT] > at org.apache.hadoop.hive.metastore.ServletServerBuilder.startServer(ServletServerBuilder.java:141) ~[hive-exec-4.1.0-SNAPSHOT.jar:4.1.0-SNAPSHOT] > at org.apache.iceberg.rest.HMSCatalogServer.startServer(HMSCatalogServer.java:134) ~[hive-standalone-metastore-iceberg-catalog-4.1.0-SNAPSHOT.jar:4.1.0-SNAPSHOT] > ... 13 more > Caused by: java.lang.ClassNotFoundException: org.apache.hc.core5.http.ContentType > at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_221] > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_221] > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[?:1.8.0_221] > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_221] > at org.apache.iceberg.rest.HMSCatalogServlet.<init>(HMSCatalogServlet.java:54) ~[hive-standalone-metastore-iceberg-catalog-4.1.0-SNAPSHOT.jar:4.1.0-SNAPSHOT] > at org.apache.iceberg.rest.HMSCatalogServer.createServlet(HMSCatalogServer.java:100) ~[hive-standalone-metastore-iceberg-catalog-4.1.0-SNAPSHOT.jar:4.1.0-SNAPSHOT] > at org.apache.iceberg.rest.HMSCatalogServer.createServlet(HMSCatalogServer.java:111) ~[hive-standalone-metastore-iceberg-catalog-4.1.0-SNAPSHOT.jar:4.1.0-SNAPSHOT] > at org.apache.hadoop.hive.metastore.ServletServerBuilder.startServer(ServletServerBuilder.java:141) ~[hive-exec-4.1.0-SNAPSHOT.jar:4.1.0-SNAPSHOT] > at org.apache.iceberg.rest.HMSCatalogServer.startServer(HMSCatalogServer.java:134) ~[hive-standalone-metastore-iceberg-catalog-4.1.0-SNAPSHOT.jar:4.1.0-SNAPSHOT] > ... 13 more > ``` @henrib Added these lines can fix the package issue. You can try to build the binary package using `mvn clean install -DskipTests -Pdist` , and then check the jar `packaging/target/apache-hive-4.1.0-SNAPSHOT-bin/apache-hive-4.1.0-SNAPSHOT-bin/lib/hive-standalone-metastore-rest-catalog-4.1.0-SNAPSHOT.jar` ``` diff --git a/packaging/pom.xml b/packaging/pom.xml index cfc37f087f..705e409757 100644 --- a/packaging/pom.xml +++ b/packaging/pom.xml @@ -424,6 +424,11 @@ <artifactId>hive-webhcat-java-client</artifactId> <version>${project.version}</version> </dependency> + <dependency> + <groupId>org.apache.hive</groupId> + <artifactId>hive-standalone-metastore-rest-catalog</artifactId> + <version>${standalone-metastore.version}</version> + </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs-client</artifactId> ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For additional commands, e-mail: gitbox-h...@hive.apache.org