Archives of Support Questions (Read Only)

This is an archived board for historical reference. Information and links may no longer be available or relevant
Announcements
This board is archived and read-only for historical reference. To ask a new question, please post a new topic on the appropriate active board.

I am able to see HIVE TABLES without HIVE METASTORE SERVICE?

avatar

Team, I just got below question which lead me into great confusion, Please clarify me.

I have "Hive-server & Metastore" running on one machine and
"DataBase" (mysql) is running on Other Machine.


"Hive Server & Metastore" config looks like below:
==================================================
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://DBSERVER.intranet.bit/hive</value>
</property>

<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>

<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>

<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>XXXXXXXXXXXX</value>
</property>

<property>
<name>datanucleus.autoCreateSchema</name>
<value>false</value>
</property>

<property>
<name>datanucleus.fixedDatastore</name>
<value>true</value>
</property>

<property>
<name>hive.exec.scratchdir</name>
<value>/tmp/hive-${user.name}</value>
<description>Scratch space for Hive jobs</description>
</property>

<property>
<name>hive.stats.autogather</name>
<value>false</value>
</property>

 

QUESTION Here :

I brought down the Metastore Service (/etc/init.d/metastore stop) on the hive server,
Then I ran the command "Hive", Still I am able to see all the tables. (kindly Refer below command output)
If i can access tables without Metastore service , Why there is "Metastore Service" ?
Am i missing anything ?

 

/etc/hive/conf# hive
Logging initialized using configuration in file:/etc/hive/conf.dist/hive-log4j.properties
Hive history file=/tmp/root/hive_job_log_aa0f2d2c-459c-43b5-8be4-da89a45e8473_558641078.txt
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/lib/zookeeper/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/lib/hive/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
hive> show tables;
OK
impre
impre_map
impre_summary
live_test
sau_metrics
sau_metrics_test
bundle_events
bundle_events_total
cfu_for_crash_frequency
dau_by_geo
installs
crash_frequency
flume_test

Also , i brought down the Hive (/etc/init.d/hive-server stop & /etc/init.d/hive-metastore stop),
Still i am successfully read the HIVE table.
Am i missing anything here ?

KIndly share your veiw, and Correct me if my understanding is wrong.
How "hive" command is allowing me to view HIVE tables after brought down "metastore" Service ?
if this is true, I can connect "HIVE DB(mysql)" without Metastore service ?

 

Best Regards,
Bommuraj

1 ACCEPTED SOLUTION

avatar
Mentor
Hive will contact a Hive MetaStore Service iff there's a "hive.metastore.uris" property in hive-site.xml. Your XML doesn't have one.

Your XML carries the JDO properties of the DB instead, and is thereby the "local" mode config described at http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/c...

View solution in original post

2 REPLIES 2

avatar
Mentor
Hive will contact a Hive MetaStore Service iff there's a "hive.metastore.uris" property in hive-site.xml. Your XML doesn't have one.

Your XML carries the JDO properties of the DB instead, and is thereby the "local" mode config described at http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/c...

avatar

Thank you Harsh !!!