Help configuring Hive FileMetastore using S3

135 views
Skip to first unread message

Simon Critchley

unread,
Feb 14, 2017, 1:07:14 PM2/14/17
to Presto
Hi all, 

I see that an experimental file based metastore was added as of 0.163.

Are there any details available on how this should be configured to use a location on S3?

I've tried running presto 0.166 with a hive.properties file like so:

connector.name=hive-hadoop2
hive.metastore=file
hive.metastore.catalog.dir=s3://bucket/path

But presto exits with the below error.

Any pointers on how to configure this experimental feature would be greatly appreciated.

Thanks, Si

1) Error: Invalid configuration property hive.metastore.uri: may not be null (for class com.facebook.presto.hive.StaticMetastoreConfig.metastoreUris)

2) Configuration property 'hive.metastore.catalog.dir=s3://bucket/path' was not used
  at io.airlift.bootstrap.Bootstrap.lambda$initialize$2(Bootstrap.java:236)

2 errors
com.google.inject.CreationException: Unable to create injector, see the following errors:

1) Error: Invalid configuration property hive.metastore.uri: may not be null (for class com.facebook.presto.hive.StaticMetastoreConfig.metastoreUris)

2) Configuration property 'hive.metastore.catalog.dir=s3://bucket/path' was not used
  at io.airlift.bootstrap.Bootstrap.lambda$initialize$2(Bootstrap.java:236)

2 errors
at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:466)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
at com.google.inject.Guice.createInjector(Guice.java:96)
at io.airlift.bootstrap.Bootstrap.initialize(Bootstrap.java:243)
at com.facebook.presto.hive.HiveConnectorFactory.create(HiveConnectorFactory.java:107)
at com.facebook.presto.connector.ConnectorManager.createConnector(ConnectorManager.java:304)
at com.facebook.presto.connector.ConnectorManager.addCatalogConnector(ConnectorManager.java:193)
at com.facebook.presto.connector.ConnectorManager.createConnection(ConnectorManager.java:185)
at com.facebook.presto.connector.ConnectorManager.createConnection(ConnectorManager.java:171)
at com.facebook.presto.metadata.StaticCatalogStore.loadCatalog(StaticCatalogStore.java:99)
at com.facebook.presto.metadata.StaticCatalogStore.loadCatalogs(StaticCatalogStore.java:77)
at com.facebook.presto.server.PrestoServer.run(PrestoServer.java:120)
at com.facebook.presto.server.PrestoServer.main(PrestoServer.java:67)

Simon Critchley

unread,
Feb 18, 2017, 8:31:56 AM2/18/17
to Presto
I've managed to get this working. I needed to build presto with the change mentioned in the original PR here: https://github.com/prestodb/presto/pull/6525#discussion_r87898105.
Reply all
Reply to author
Forward
0 new messages