说明presto时出错

时间:2016-05-21 09:15:32

标签: cassandra 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)

关于这个问题的任何想法?

2 个答案:

答案 0 :(得分:0)

你是否有机会在chrooted环境中运行prestodb?这对我来说是个问题,我没有深入挖掘,只是尝试在Virtualbox中运行全功能的Debian Jessie VM并运行得很好。

答案 1 :(得分:0)

感谢您的回答。 我可以通过更改may java版本来解决问题。