On Wed, Aug 24, 2011 at 3:02 PM, Christian Kurz <crk...@gmx.de> wrote:
> > Thanks for the quick reply, Edward > > I am not sure I got you: My HiveService has been started with > hive.metastore.local=false. > So shouldn't it use thrift instead of its own local Derby instance? > > Thanks, > Christian > > Am 24.08.2011 um 19:33 schrieb Edward Capriolo <edlinuxg...@gmail.com>: > > > > On Wed, Aug 24, 2011 at 10:53 AM, Christian Kurz <crk...@gmx.de> wrote: > >> Greetings, >> >> could somebody confirm/correct my understanding of a fully distributed >> Hive setup, please? >> >> My setup is as follows >> >> - *Java application using Hive JDBC driver *connects to >> - *hive --service hiveserver*, which connects to >> - *hive --service metastore*, which uses an embedded Derby database >> for metadata storage >> >> Please find more details in the image attached. >> >> The thing I find confusing is that JVM2 (Hive Server) starts up a Derby >> database instance. I can see that from the files the JVM has opened. >> >> Does anybody know, why the Hive Server needs a Derby instance even though >> hive-site.xml says: hive.metastore.local=false ? >> >> Any hints are much appreciated. >> >> Thanks, >> Christian >> >> btw, >> I have not been able to access the picture on the >> wiki<https://cwiki.apache.org/Hive/adminmanual-metastoreadmin.html#AdminManualMetastoreAdmin-MetastoreDeploymentOptionsinPictures>. >> ("Not permitted"; even though I have registered on the wiki) >> >> >> > hive.metastore.local is really misnamed. > > local=true means communicate using datanucleus/JPOX and talking directly to > the metastore. > > local=false means use thrift which is essentially a level of indirection. > > Talking about HiveService can confuse things because HiveService is a different thrift interface. You could be setup like this: HiveServiceClient->HiveService->metastore.local=true->derby or HiveServiceClient->HiveService->metastore.local=false>thrift->hive_metastore most people are setup like this: HiveServiceClient->HiveService->metastore.local=true->mysql cli->metastore.local=true->mysql