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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]