[ 
https://issues.apache.org/jira/browse/HIVE-29052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17986711#comment-17986711
 ] 

Butao Zhang edited comment on HIVE-29052 at 6/28/25 2:44 PM:
-------------------------------------------------------------

[~dkuzmenko] I deployed hms server using a compiled standalone hms tar on my 
local physical machine.  

{color:#ff0000}hive/standalone-metastore/metastore-server/target/apache-hive-standalone-metastore-server-4.1.0-bin.tar.gz{color}

 
 * export HADOOP_HOME=/opt/hadoop-3.4.1
 * metastore-site.xml

          I just used a few simple configurations to start the standalone HMS.
{code:java}
<configuration>  
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>mysql_psswd</value>
    <description>password to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    
<value>jdbc:mysql://127.0.0.1:3356/hive?createDatabaseIfNotExist=true</value>
    <description>
      JDBC connect string for a JDBC metastore.
      To use SSL to encrypt/authenticate the connection, provide 
database-specific SSL flag in the connection URL.
      For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
    </description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>Username to use against metastore database</description>
  </property>
</configuration>   {code}
 * ./apache-hive-metastore-4.1.0-bin/bin/start-metastore

 

> _Looks like IcebergHouseKeeperService is missing from classpath_

IcebergHouseKeeperService is in *hive-iceberg-handler-4.1.0.jar, but we didn't 
put this jar into the* 
{*}{color:#ff0000}apache-hive-standalone-metastore-server-4.1.0-bin.tar.gz.{color}{*}{*}{*}

*{color:#ff0000}org.apache.hadoop.hive.ql.txn.compactor.Initiator{color}* 
{color:#172b4d}has the same issue. This class is in {*}hive-exec-4.1.0.jar{*}, 
but standalone hms didn't include this jar.{color}


was (Author: zhangbutao):
[~dkuzmenko] I deployed hms server using a compiled standalone hms tar on my 
local physical machine.  

{color:#FF0000}hive/standalone-metastore/metastore-server/target/apache-hive-standalone-metastore-server-4.1.0-bin.tar.gz{color}

 
 * export HADOOP_HOME=/opt/hadoop-3.4.1
 * metastore-site.xml

          I just used a few simple configurations to start the standalone HMS.
{code:java}
<configuration>  
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>mysql_psswd</value>
    <description>password to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    
<value>jdbc:mysql://127.0.0.1:3356/hive?createDatabaseIfNotExist=true</value>
    <description>
      JDBC connect string for a JDBC metastore.
      To use SSL to encrypt/authenticate the connection, provide 
database-specific SSL flag in the connection URL.
      For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
    </description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>Username to use against metastore database</description>
  </property>
</configuration>   {code}
 * ./apache-hive-metastore-4.1.0-bin/bin/start-metastore

 

> _Looks like IcebergHouseKeeperService is missing from classpath_

IcebergHouseKeeperService is in *hive-iceberg-handler-4.1.0.jar, but we didn't 
put this jar into the* 
*{color:#FF0000}apache-hive-standalone-metastore-server-4.1.0-bin.tar.gz.{color}*

> Error starting standalone HMS: "IcebergHouseKeeperService class not found"
> --------------------------------------------------------------------------
>
>                 Key: HIVE-29052
>                 URL: https://issues.apache.org/jira/browse/HIVE-29052
>             Project: Hive
>          Issue Type: Task
>          Components: Standalone Metastore
>    Affects Versions: 4.1.0, 4.2.0
>            Reporter: Butao Zhang
>            Priority: Major
>
> During local standalone HMS deployment testing, the following exception log 
> was observed:
>  
> {code:java}
> 2025-06-28T17:19:28,840 ERROR [Metastore threads starter thread] 
> leader.LeaseLeaderElection: Error notifying the listener: 
> org.apache.hadoop.hive.metastore.leader.CompactorTasks@61e0c33d, leader: true
> java.lang.ClassNotFoundException: 
> org.apache.hadoop.hive.ql.txn.compactor.Initiator
>         at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
>  ~[?:?]
>         at 
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
>  ~[?:?]
>         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) 
> ~[?:?]
>         at java.base/java.lang.Class.forName0(Native Method) ~[?:?]
>         at java.base/java.lang.Class.forName(Class.java:375) ~[?:?]
>         at 
> org.apache.hadoop.hive.metastore.leader.CompactorTasks.instantiateThread(CompactorTasks.java:53)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at 
> org.apache.hadoop.hive.metastore.leader.CompactorTasks.getCompactorThreads(CompactorTasks.java:67)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at 
> org.apache.hadoop.hive.metastore.leader.CompactorTasks.takeLeadership(CompactorTasks.java:136)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at 
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.lambda$notifyListener$0(LeaseLeaderElection.java:141)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
>         at 
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.notifyListener(LeaseLeaderElection.java:138)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at 
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.doWork(LeaseLeaderElection.java:120)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at 
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.tryBeLeader(LeaseLeaderElection.java:181)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at 
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.tryBeLeader(LeaseLeaderElection.java:63)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at 
> org.apache.hadoop.hive.metastore.leader.LeaderElectionContext.lambda$start$2(LeaderElectionContext.java:125)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at java.base/java.lang.Thread.run(Thread.java:833) [?:?]
>         at 
> org.apache.hadoop.hive.metastore.leader.LeaderElectionContext.start(LeaderElectionContext.java:136)
>  [hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at 
> org.apache.hadoop.hive.metastore.HiveMetaStore$8.run(HiveMetaStore.java:855) 
> [hive-standalone-metastore-server-4.1.0.jar:4.1.0]
> 2025-06-28T17:19:28,847 ERROR [Metastore threads starter thread] 
> leader.LeaseLeaderElection: Error notifying the listener: 
> org.apache.hadoop.hive.metastore.leader.HouseKeepingTasks@33d3660, leader: 
> true
> org.apache.hadoop.hive.metastore.api.MetaException: 
> org.apache.iceberg.mr.hive.metastore.task.IcebergHouseKeeperService class not 
> found
>         at 
> org.apache.hadoop.hive.metastore.utils.JavaUtils.getClass(JavaUtils.java:56) 
> ~[hive-standalone-metastore-common-4.1.0.jar:4.1.0]
>         at 
> org.apache.hadoop.hive.metastore.leader.HouseKeepingTasks.getRemoteOnlyTasks(HouseKeepingTasks.java:72)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at 
> org.apache.hadoop.hive.metastore.leader.HouseKeepingTasks.takeLeadership(HouseKeepingTasks.java:112)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at 
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.lambda$notifyListener$0(LeaseLeaderElection.java:141)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
>         at 
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.notifyListener(LeaseLeaderElection.java:138)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at 
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.doWork(LeaseLeaderElection.java:120)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at 
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.tryBeLeader(LeaseLeaderElection.java:181)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at 
> org.apache.hadoop.hive.metastore.leader.LeaseLeaderElection.tryBeLeader(LeaseLeaderElection.java:63)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at 
> org.apache.hadoop.hive.metastore.leader.LeaderElectionContext.lambda$start$2(LeaderElectionContext.java:125)
>  ~[hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at java.base/java.lang.Thread.run(Thread.java:833) [?:?]
>         at 
> org.apache.hadoop.hive.metastore.leader.LeaderElectionContext.start(LeaderElectionContext.java:136)
>  [hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>         at 
> org.apache.hadoop.hive.metastore.HiveMetaStore$8.run(HiveMetaStore.java:855) 
> [hive-standalone-metastore-server-4.1.0.jar:4.1.0]
>  {code}



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

Reply via email to