Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AWS Installation Error #36

Open
EmilJimenez21 opened this issue Mar 21, 2018 · 7 comments
Open

AWS Installation Error #36

EmilJimenez21 opened this issue Mar 21, 2018 · 7 comments

Comments

@EmilJimenez21
Copy link

Greetings,

I'm contacting you today to ask for support in installing presto-ethereum on AWS EMR. I have the plugin installed and configured on the server, I launch the "bin/launcher" and it crashes when I run the presto-cli command.

I get error "failed: Catalog ethereum does not exist", While I have the plugin installed and extracted in the plugins folder and I added the catalog/ethereum.properties file in the root folder.

Thank you in advanced for any help!

@EmilJimenez21
Copy link
Author

EmilJimenez21 commented Mar 21, 2018

I got the catalog to exist... This is the latest problem I'm facing "java.lang.NoClassDefFoundError"

2018-03-21T05:04:16.820Z INFO main com.facebook.presto.metadata.StaticCatalogStore -- Loading catalog /etc/presto/conf/catalog/ethereum.properties -- 2018-03-21T05:04:17.720Z INFO main Bootstrap PROPERTY DEFAULT RUNTIME DESCRIPTION 2018-03-21T05:04:17.720Z INFO main Bootstrap ethereum.ipc null null 2018-03-21T05:04:17.721Z INFO main Bootstrap ethereum.jsonrpc null http://172.31.20.110:25565/ 2018-03-21T05:04:17.721Z INFO main Bootstrap ethereum.infura null null 2018-03-21T05:04:17.721Z INFO main Bootstrap 2018-03-21T05:04:17.721Z WARN main Bootstrap UNUSED PROPERTIES 2018-03-21T05:04:17.721Z WARN main Bootstrap  2018-03-21T05:04:17.721Z WARN main Bootstrap 2018-03-21T05:04:18.339Z ERROR main com.facebook.presto.server.PrestoServer com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: com/facebook/presto/spi/connector/ConnectorSplitManager$SplitSchedulingStrategy com.google.common.util.concurrent.ExecutionError: com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: com/facebook/presto/spi/connector/ConnectorSplitManager$SplitSchedulingStrategy at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2199) at com.google.common.cache.LocalCache.get(LocalCache.java:3934) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821) at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827) at com.google.inject.internal.FailableCache.get(FailableCache.java:48) at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50) at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:136) at com.google.inject.internal.InjectorImpl.initializeBinding(InjectorImpl.java:533) at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run(AbstractBindingProcessor.java:160) at com.google.inject.internal.ProcessedBindingData.initializeBindings(ProcessedBindingData.java:44) at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:123) 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 im.xiaoyao.presto.ethereum.EthereumConnectorFactory.create(EthereumConnectorFactory.java:47) at com.facebook.presto.connector.ConnectorManager.createConnector(ConnectorManager.java:305) 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) Caused by: com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: com/facebook/presto/spi/connector/ConnectorSplitManager$SplitSchedulingStrategy at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2199) at com.google.common.cache.LocalCache.get(LocalCache.java:3934) at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938) at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821) at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827) at com.google.inject.internal.FailableCache.get(FailableCache.java:48) at com.google.inject.internal.MembersInjectorStore.get(MembersInjectorStore.java:68) at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:74) at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29) at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37) at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33) at com.google.inject.internal.FailableCache$1.load(FailableCache.java:37) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) ... 23 more Caused by: java.lang.NoClassDefFoundError: com/facebook/presto/spi/connector/ConnectorSplitManager$SplitSchedulingStrategy at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.getDeclaredMethods(Class.java:1975) at com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:688) at com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPoint.java:380) at com.google.inject.internal.MembersInjectorStore.createWithListeners(MembersInjectorStore.java:93) at com.google.inject.internal.MembersInjectorStore.access$000(MembersInjectorStore.java:37) at com.google.inject.internal.MembersInjectorStore$1.create(MembersInjectorStore.java:45) at com.google.inject.internal.MembersInjectorStore$1.create(MembersInjectorStore.java:42) at com.google.inject.internal.FailableCache$1.load(FailableCache.java:37) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) ... 38 more Caused by: java.lang.ClassNotFoundException: com.facebook.presto.spi.connector.ConnectorSplitManager$SplitSchedulingStrategy at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at com.facebook.presto.server.PluginClassLoader.loadClass(PluginClassLoader.java:72) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 52 more

@xiaoyao1991
Copy link
Owner

@Basketcaisse21 thanks for reporting. What version of presto are you using?

@EmilJimenez21
Copy link
Author

@xiaoyao1991 Thank you for the quick response! I'm running presto 5.12.0

@xiaoyao1991
Copy link
Owner

hmm, I see that EMR 5.12.0 is using Presto ver 0.188. The presto-ethereum is now importing presto related dependencies at 0.196. I actually just upgraded dependencies from 0.181 to 0.196 due to #33

@xiaoyao1991
Copy link
Owner

looks like presto spi is just not so stable :(

So one solution to this is to have different builds for 0.188(provided that's one latest AWS EMR uses) and latest. What do you think?

@EmilJimenez21
Copy link
Author

@xiaoyao1991 I think that might be a solid solution to this error. I'll keep you posted!

@xiaoyao1991
Copy link
Owner

xiaoyao1991 commented Mar 22, 2018

@Basketcaisse21 Thanks. If you can, would you want to work on this and try to provide a neat solution in the pom.xml to provide different build goals? I would appreciate it so much :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants