2016-07-04 99 views
0

我在macOS 10.11上使用presto-server-0.149。仅用于测试目的,我运行一个节点,一切都可以。当我添加etc/catalog/localfile.properties有:Presto无法使用本地文件连接器创建注入器

connector.name=localfile 
presto-logs.http-request-log-location=/var/log/apache2/access_log 

我得到以下错误:

2016-07-04T12:02:45.435-0700 INFO main io.airlift.bootstrap.LifeCycleManager Life cycle starting... 
2016-07-04T12:02:45.435-0700 INFO main io.airlift.bootstrap.LifeCycleManager Life cycle startup complete. System ready. 
2016-07-04T12:02:45.436-0700 INFO main com.facebook.presto.metadata.CatalogManager -- Added catalog jmx using connector jmx -- 
2016-07-04T12:02:45.436-0700 INFO main com.facebook.presto.metadata.CatalogManager -- Loading catalog etc/catalog/localfile.properties -- 
2016-07-04T12:02:45.797-0700 INFO main Bootstrap PROPERTY        DEFAULT     RUNTIME     DESCRIPTION 
2016-07-04T12:02:45.797-0700 INFO main Bootstrap presto-logs.http-request-log.pattern null      null      If log location is a directory this glob is used to match the file names in the directory 
2016-07-04T12:02:45.797-0700 INFO main Bootstrap presto-logs.http-request-log.location var/log/http-request.log var/log/http-request.log Directory or file where http request logs are written 
2016-07-04T12:02:45.797-0700 INFO main Bootstrap 
2016-07-04T12:02:45.797-0700 WARN main Bootstrap UNUSED PROPERTIES 
2016-07-04T12:02:45.797-0700 WARN main Bootstrap presto-logs.http-request-log-location=/var/log/apache2/access_log 
2016-07-04T12:02:45.797-0700 WARN main Bootstrap 
2016-07-04T12:02:45.989-0700 ERROR main com.facebook.presto.server.PrestoServer Unable to create injector, see the following errors: 

1) Configuration property 'presto-logs.http-request-log-location=/var/log/apache2/access_log' was not used 
    at io.airlift.bootstrap.Bootstrap.lambda$initialize$2(Bootstrap.java:235) 

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

1) Configuration property 'presto-logs.http-request-log-location=/var/log/apache2/access_log' was not used 
    at io.airlift.bootstrap.Bootstrap.lambda$initialize$2(Bootstrap.java:235) 

1 error 
    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:242) 
    at com.facebook.presto.localfile.LocalFileConnectorFactory.create(LocalFileConnectorFactory.java:64) 
    at com.facebook.presto.connector.ConnectorManager.createConnector(ConnectorManager.java:315) 
    at com.facebook.presto.connector.ConnectorManager.addCatalogConnector(ConnectorManager.java:169) 
    at com.facebook.presto.connector.ConnectorManager.createConnection(ConnectorManager.java:162) 
    at com.facebook.presto.connector.ConnectorManager.createConnection(ConnectorManager.java:148) 
    at com.facebook.presto.metadata.CatalogManager.loadCatalog(CatalogManager.java:99) 
    at com.facebook.presto.metadata.CatalogManager.loadCatalogs(CatalogManager.java:77) 
    at com.facebook.presto.server.PrestoServer.run(PrestoServer.java:115) 
    at com.facebook.presto.server.PrestoServer.main(PrestoServer.java:63) 

UPDATE

基于以下戴恩特伦的回答,我能解决我的问题。原来,Local File Connector的fb文档不正确。因为我需要得到的东西喂普雷斯托测试LOCALFILE连接器,我改变了配置文件路径,以普雷斯托自己的请求日志:

presto-logs.http-request-log.location=/var/presto/data/var/log/http-request.log 

回答

1

你必须在配置属性一个错字。它应该是:

presto-logs.http-request-log.location=/var/log/apache2/access_log 

而且,这个连接器只能处理使用Presto自己创建的HTTP日志格式,所以你需要重新配置的Apache2服务器输出相同的格式。

+0

谢谢戴恩。所以这意味着文档也有拼写错误,因为我在http://prestodb.io/docs/current/connector/localfile.html中剪切并粘贴了这些内容。也许你可以让他们知道?我在哪里可以找到PrestoDB使用的格式。我无法找到任何描述此要求的地方。 – Laurent

+2

'另外,这个连接器只能处理由Presto自己创建的http日志格式。也许这只是我,但不是名称“本地文件连接器”有点误导?也许“日志文件连接器”会更清楚它不是“通用”连接器。 – Insac

相关问题