陈述 presto 时出错

Error when stating presto

我尝试在这个 link 之后的单个节点上安装 Facebook presto。 该节点具有此配置:

node.properties

node.environment=prestotestcluster
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff
node.data-dir=/home/ogama/presto/data

jvm.config

-server
-Xmx1G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p

log.properties

com.facebook.presto=INFO

config.properties

coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=5GB
query.max-memory-per-node=1GB
discovery-server.enabled=true
discovery.uri=http://localhost:8080

我还在 <presto_install>/etc/catalog/cassandra.properties 中配置了一个 cassandra 目录:

connector.name=cassandra
cassandra.contact-points=localhost

当我尝试使用 launcher run 启动 presto 时,出现此错误:

我收到以下错误:

4) Error in custom provider, java.lang.NullPointerException
  while locating io.airlift.jmx.JmxModule$JmxAnnouncementProvider
  while locating io.airlift.discovery.client.ServiceAnnouncement annotated with @com.google.inject.multibindings.Element(setName=,uniqueId=267, type=MULTIBINDER, keyType=)
  at io.airlift.discovery.client.DiscoveryModule.configure(DiscoveryModule.java:68) (via modules: io.airlift.discovery.client.DiscoveryModule -> com.google.inject.multibindings.Multibinder$RealMultibinder)
  while locating java.util.Set<io.airlift.discovery.client.ServiceAnnouncement>
    for parameter 1 at io.airlift.discovery.client.Announcer.<init>(Announcer.java:70)
  at io.airlift.discovery.client.DiscoveryModule.configure(DiscoveryModule.java:63)
  while locating io.airlift.discovery.client.Announcer
    for parameter 1 at io.airlift.discovery.client.DiscoveryModule.createMergingServiceSelectorFactory(DiscoveryModule.java:120)
  at io.airlift.discovery.client.DiscoveryModule.createMergingServiceSelectorFactory(DiscoveryModule.java:120)
  at io.airlift.discovery.client.DiscoveryModule.createMergingServiceSelectorFactory(DiscoveryModule.java:120)
  while locating io.airlift.discovery.client.MergingServiceSelectorFactory
  at io.airlift.discovery.client.DiscoveryModule.configure(DiscoveryModule.java:72)
  while locating io.airlift.discovery.client.ServiceSelectorFactory
    for parameter 0 at io.airlift.discovery.client.ServiceSelectorProvider.setServiceSelectorFactory(ServiceSelectorProvider.java:49)
  at com.facebook.presto.server.CoordinatorModule.configure(CoordinatorModule.java:135) (via modules: com.facebook.presto.server.ServerMainModule -> com.facebook.presto.server.CoordinatorModule)
Caused by: java.lang.NullPointerException
    at io.airlift.jmx.JmxModule$JmxAnnouncementProvider.get(JmxModule.java:67)
    at io.airlift.jmx.JmxModule$JmxAnnouncementProvider.get(JmxModule.java:52)
    at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
    at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:72)
    at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)

关于这个问题有什么想法吗?

你有没有机会 运行 chrooted 环境中的 prestodb?这对我来说是个问题,我没有深入研究,只是在 Virtualbox 中的全功能 Debian Jessie VM 中尝试 运行 将其安装 运行 就好了。

感谢您的回答。 我已经通过更改可能 java 版本解决了可能的问题。