We have client logic, where we first try to connect over transport client
if the user has given us a list of IPs and if not we try to connect over a
node client. Since we try both kinds of client we copy over all the ES and
lucene jars to the classpath. Since the node client might need some of the
plugin jars we also copy those jars to the classpath. One of the plugin is
marvel.
Now when we try to create a transport client using this classpath we are
getting the following exception
Transport connection failed. Trying node connection.Guice creation errors:
363
364 1) No implementation for org.elasticsearch.client.Client was bound.
365 while locating org.elasticsearch.client.Client
366 for parameter 4 at
org.elasticsearch.marvel.agent.AgentService.(Unknown Source)
367 at unknown
368
369 2) No implementation for org.elasticsearch.cluster.ClusterService was
bound.
370 while locating org.elasticsearch.cluster.ClusterService
371 for parameter 3 at
org.elasticsearch.marvel.agent.AgentService.(Unknown Source)
372 at unknown
373
374 3) No implementation for org.elasticsearch.cluster.ClusterService was
bound.
375 while locating org.elasticsearch.cluster.ClusterService
376 for parameter 1 at
org.elasticsearch.marvel.agent.exporter.ESExporter.(Unknown Source)
377 at unknown
378
379 4) No implementation for org.elasticsearch.cluster.settings.DynamicSettings
annotated with @org.elasticsearch.cluster.settings.ClusterDynamicSettings()
+++was bound.
380 while locating org.elasticsearch.cluster.settings.DynamicSettings
annotated with @org.elasticsearch.cluster.settings.ClusterDynamicSettings()
381 for parameter 7 at
org.elasticsearch.marvel.agent.AgentService.(Unknown Source)
382 at unknown
383
384 5) No implementation for org.elasticsearch.cluster.settings.DynamicSettings
annotated with @org.elasticsearch.cluster.settings.ClusterDynamicSettings()
+++was bound.
385 while locating org.elasticsearch.cluster.settings.DynamicSettings
annotated with @org.elasticsearch.cluster.settings.ClusterDynamicSettings()
386 for parameter 3 at
org.elasticsearch.marvel.agent.exporter.ESExporter.(Unknown Source)
387 at unknown
388
389 6) No implementation for org.elasticsearch.discovery.Discovery was bound.
390 while locating org.elasticsearch.discovery.Discovery
391 for parameter 3 at
org.elasticsearch.node.service.NodeService.(Unknown Source)
If I remove the marvel jar then this works just fine.
The reason we bother to copy over all the plugin jars is because we might need some other plugin that the node client needs. At this point I do not know if there are any other such plugins that might create trouble for transport client.
We have client logic, where we first try to connect over transport client
if the user has given us a list of IPs and if not we try to connect over a
node client. Since we try both kinds of client we copy over all the ES and
lucene jars to the classpath. Since the node client might need some of the
plugin jars we also copy those jars to the classpath. One of the plugin is
marvel.
Now when we try to create a transport client using this classpath we are
getting the following exception
Transport connection failed. Trying node connection.Guice creation errors:
363
364 1) No implementation for org.elasticsearch.client.Client was bound.
365 while locating org.elasticsearch.client.Client
366 for parameter 4 at
org.elasticsearch.marvel.agent.AgentService.(Unknown Source)
367 at unknown
368
369 2) No implementation for org.elasticsearch.cluster.ClusterService was
bound.
370 while locating org.elasticsearch.cluster.ClusterService
371 for parameter 3 at
org.elasticsearch.marvel.agent.AgentService.(Unknown Source)
372 at unknown
373
374 3) No implementation for org.elasticsearch.cluster.ClusterService was
bound.
375 while locating org.elasticsearch.cluster.ClusterService
376 for parameter 1 at
org.elasticsearch.marvel.agent.exporter.ESExporter.(Unknown Source)
377 at unknown
378
379 4) No implementation for org.elasticsearch.cluster.settings.DynamicSettings
annotated with @org.elasticsearch.cluster.settings.ClusterDynamicSettings()
+++was bound.
380 while locating org.elasticsearch.cluster.settings.DynamicSettings
annotated with @org.elasticsearch.cluster.settings.ClusterDynamicSettings()
381 for parameter 7 at
org.elasticsearch.marvel.agent.AgentService.(Unknown Source)
382 at unknown
383
384 5) No implementation for org.elasticsearch.cluster.settings.DynamicSettings
annotated with @org.elasticsearch.cluster.settings.ClusterDynamicSettings()
+++was bound.
385 while locating org.elasticsearch.cluster.settings.DynamicSettings
annotated with @org.elasticsearch.cluster.settings.ClusterDynamicSettings()
386 for parameter 3 at
org.elasticsearch.marvel.agent.exporter.ESExporter.(Unknown Source)
387 at unknown
388
389 6) No implementation for org.elasticsearch.discovery.Discovery was bound.
390 while locating org.elasticsearch.discovery.Discovery
391 for parameter 3 at
org.elasticsearch.node.service.NodeService.(Unknown Source)
If I remove the marvel jar then this works just fine.
The reason we bother to copy over all the plugin jars is because we might need some other plugin that the node client needs. At this point I do not know if there are any other such plugins that might create trouble for transport client.
Yes. Things work fine if I use a node client instead of a transport client.
Also we are using these same jars to start elasticsearch nodes on that
machine and that seems to work fine too.
On Friday, April 3, 2015 at 5:23:30 PM UTC-7, vineeth mohan wrote:
Hi ,
Is the version of marvel and Elasticsearch both complaint to each other ?
We have client logic, where we first try to connect over transport client
if the user has given us a list of IPs and if not we try to connect over a
node client. Since we try both kinds of client we copy over all the ES and
lucene jars to the classpath. Since the node client might need some of the
plugin jars we also copy those jars to the classpath. One of the plugin is
marvel.
Now when we try to create a transport client using this classpath we are
getting the following exception
Transport connection failed. Trying node connection.Guice creation errors:
363
364 1) No implementation for org.elasticsearch.client.Client was bound.
365 while locating org.elasticsearch.client.Client
366 for parameter 4 at
org.elasticsearch.marvel.agent.AgentService.(Unknown Source)
367 at unknown
368
369 2) No implementation for org.elasticsearch.cluster.ClusterService was
bound.
370 while locating org.elasticsearch.cluster.ClusterService
371 for parameter 3 at
org.elasticsearch.marvel.agent.AgentService.(Unknown Source)
372 at unknown
373
374 3) No implementation for org.elasticsearch.cluster.ClusterService was
bound.
375 while locating org.elasticsearch.cluster.ClusterService
376 for parameter 1 at
org.elasticsearch.marvel.agent.exporter.ESExporter.(Unknown Source)
377 at unknown
378
379 4) No implementation for org.elasticsearch.cluster.settings.DynamicSettings
annotated with @org.elasticsearch.cluster.settings.ClusterDynamicSettings()
+++was bound.
380 while locating org.elasticsearch.cluster.settings.DynamicSettings
annotated with @org.elasticsearch.cluster.settings.ClusterDynamicSettings()
381 for parameter 7 at
org.elasticsearch.marvel.agent.AgentService.(Unknown Source)
382 at unknown
383
384 5) No implementation for org.elasticsearch.cluster.settings.DynamicSettings
annotated with @org.elasticsearch.cluster.settings.ClusterDynamicSettings()
+++was bound.
385 while locating org.elasticsearch.cluster.settings.DynamicSettings
annotated with @org.elasticsearch.cluster.settings.ClusterDynamicSettings()
386 for parameter 3 at
org.elasticsearch.marvel.agent.exporter.ESExporter.(Unknown Source)
387 at unknown
388
389 6) No implementation for org.elasticsearch.discovery.Discovery was bound.
390 while locating org.elasticsearch.discovery.Discovery
391 for parameter 3 at
org.elasticsearch.node.service.NodeService.(Unknown Source)
If I remove the marvel jar then this works just fine.
The reason we bother to copy over all the plugin jars is because we might need some other plugin that the node client needs. At this point I do not know if there are any other such plugins that might create trouble for transport client.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.