我从github克隆presto并构建项目。但是当我尝试运行PrestoServer时,抛出异常,因为java.lang.IllegalArgumentException:连接器mysql没有工厂。详细输出如下:
2014-12-10T16:48:31.617 + 0800 INFO main org.eclipse.jetty.util.log记录已初始化@ 12338ms 2014-12-10T16:48:32.117 + 0800 WARN主要io.airlift.jmx.JmxAgent不能 确定JMX代理是否已在运行(不是Oracle JVM?)。将 尝试手动启动它。 2014-12-10T16:48:33.024 + 0800
INFO主要io.airlift.jmx.JmxAgent JMX代理启动并监听 LIN-虚拟机:35776 2014-12-10T16:48:34.073 + 0800 ERROR Discovery-0 io.airlift.discovery.client.CachingServiceSelector不能 连接到发现服务器进行刷新(收集器/常规):查找 http://myhost.com:8080/v1/service/collector/general收藏家失败 2014-12-10T16:48:34.112 + 0800 ERROR Discovery-2 io.airlift.discovery.client.CachingServiceSelector不能 连接到发现服务器进行刷新(presto / general):查找 pre http://myhost.com:8080/v1/service/presto/general失败 2014-12-10T16:48:46.273 + 0800
INFO主要是org.eclipse.jetty.server.Server jetty-9.2.z-SNAPSHOT 2014-12-10T16:48:46.288 + 0800
WARN主要是org.eclipse.jetty.server.handler.AbstractHandler否服务器 设置为org.eclipse.jetty.server.handler.ErrorHandler@4f6a5cc9 2014-12-10T16:48:55.883 + 0800
INFO主要是org.eclipse.jetty.server.handler.ContextHandler已启动 o.e.j.s.ServletContextHandler@420dde28 {/,空的,可用@ HTTP} 2014-12-10T16:48:56.001 + 0800
INFO主要是org.eclipse.jetty.server.ServerConnector已启动 http @ 712213ed {HTTP / 1.1} {0.0.0.0:8080} 2014-12-10T16:48:56.002 + 0800
INFO main org.eclipse.jetty.server.Server已启动@ 36725ms 2014-12-10T16:48:57.102 + 0800
INFO Discovery-3 io.airlift.discovery.client.CachingServiceSelector发现 服务器连接成功刷新(收集器/通用) 2014-12-10T16:48:57.116 + 0800
INFO Discovery-0 io.airlift.discovery.client.CachingServiceSelector发现 服务器连接成功刷新(presto / general) 2014-12-10T16:48:57.958 + 0800
INFO主要io.airlift.bootstrap.LifeCycleManager生命周期开始...... 2014-12-10T16:48:57.958 + 0800
INFO主要io.airlift.bootstrap.LifeCycleManager生命周期启动 完成。系统就绪。 2014-12-10T16:48:57.959 + 0800
INFO main com.facebook.presto.metadata.CatalogManager - 正在加载 目录/home/lin/presto-server-0.86/etc/catalog/mysql.properties -2014-12-10T16:48:57.973 + 0800 ERROR main com.facebook.presto.server.PrestoServer No 工厂连接器mysql java.lang.IllegalArgumentException:没有 工厂的连接器mysql在 com.google.common.base.Preconditions.checkArgument(Preconditions.java:145) 〜[jar:rsrc:guava-18.0.jar!/:na] at com.facebook.presto.connector.ConnectorManager.createConnection(ConnectorManager.java:97) 〜[rsrc:./:na] at com.facebook.presto.metadata.CatalogManager.loadCatalog(CatalogManager.java:88) 〜[rsrc:./:na] at com.facebook.presto.metadata.CatalogManager.loadCatalogs(CatalogManager.java:70) 〜[rsrc:./:na] at com.facebook.presto.server.PrestoServer.run(PrestoServer.java:108) [rsrc:./:na] at com.facebook.presto.server.PrestoServer.main(PrestoServer.java:60) [rsrc:./:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 方法)〜[na:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 〜[na:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 〜[na:1.8.0_25] at java.lang.reflect.Method.invoke(Method.java:483) 〜[na:1.8.0_25] at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58) [presto-main.jar:na] 2014-12-10T16:48:57.977 + 0800
INFO Thread-142 io.airlift.bootstrap.LifeCycleManager生命周期 停止...
答案 0 :(得分:0)
我有同样的问题。 查看日志后,发现了问题。 在属性文件中,我传递的是“ mysql”而不是“ mysql”。 它不会修剪属性数据。