elasticsearch-1.6在连接到其docker容器时无法初始化类org.elasticsearch.monitor.jvm.JvmInfo

elasticsearch-1.6在连接到其docker容器时无法初始化类org.elasticsearch.monitor.jvm.JvmInfo,
Warning: implode(): Invalid arguments passed in /data/phpspider/zhask/webroot/tpl/detail.html on line 45
,,我有一个sbt项目,其中包括elasticsearch。我正在创建我的sbt项目的自定义映像,并使用elasticsearch:1.6.0公共映像 这是我的sbt项目的docker文件 FROM hseeberger/scala-sbt:11.0.2_2.12.8_1.2.8 as stripecommon MAINTAINER sara <sarawaheed3191@gmail.com> WORKDIR /myproject ADD myprojectcode . CM

我有一个sbt项目,其中包括elasticsearch。我正在创建我的sbt项目的自定义映像,并使用elasticsearch:1.6.0公共映像

这是我的sbt项目的docker文件

FROM hseeberger/scala-sbt:11.0.2_2.12.8_1.2.8 as stripecommon

MAINTAINER sara <sarawaheed3191@gmail.com>

WORKDIR /myproject

ADD myprojectcode .

CMD ["sbt","reload","clean","compile","run"]
启动elasticsearch容器的步骤

docker run -p 9200:9200 -p 9300:9300 --network mynetwork elasticsearch:1.6.0
293f2f750398        elasticsearch:1.6.0         "/docker-entrypoint.…"   30 seconds ago      Up 22 seconds                     0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp   zealous_johnson
启动我的项目容器

docker run --network mynetwork myproject:v1
我得到以下例外情况 org.elasticsearch.common.inject.CreationException:GUI创建错误:

1) Error injecting constructor, java.lang.ExceptionInInitializerError
  at org.elasticsearch.cache.recycler.PageCacheRecycler.<init>(Unknown Source)
  while locating org.elasticsearch.cache.recycler.PageCacheRecycler
    for parameter 0 at org.elasticsearch.common.util.BigArrays.<init>(Unknown Source)
  while locating org.elasticsearch.common.util.BigArrays
    for parameter 3 at org.elasticsearch.transport.netty.NettyTransport.<init>(Unknown Source)
  while locating org.elasticsearch.transport.netty.NettyTransport
  while locating org.elasticsearch.transport.Transport
    for parameter 1 at org.elasticsearch.transport.TransportService.<init>(Unknown Source)
  while locating org.elasticsearch.transport.TransportService
Caused by: java.lang.ExceptionInInitializerError
    at org.elasticsearch.common.unit.MemorySizeValue.parseBytesSizeValueOrHeapRatio(MemorySizeValue.java:42)
    at org.elasticsearch.common.settings.ImmutableSettings.getAsMemory(ImmutableSettings.java:401)
    at org.elasticsearch.cache.recycler.PageCacheRecycler.<init>(PageCacheRecycler.java:74)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:54)
    at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)
    at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)
    at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
    at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
    at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
    at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)
    at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
    at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
    at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
    at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)
    at org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:52)
    at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
    at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837)
    at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
    at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:57)
    at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
    at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
    at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
    at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
    at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)
    at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
    at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837)
    at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
    at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:57)
    at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
    at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:200)
    at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:193)
    at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:830)
    at org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:193)
    at org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:175)
    at org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110)
    at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:93)
    at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:70)
    at org.elasticsearch.common.inject.ModulesBuilder.createInjector(ModulesBuilder.java:59)
    at org.elasticsearch.client.transport.TransportClient.<init>(TransportClient.java:195)
    at org.elasticsearch.client.transport.TransportClient.<init>(TransportClient.java:125)
    at models.ElasticSearchConnectionInfo$.createClient(ElasticSearchConnectionInfo.scala:31)
    at models.ElasticSearchConnectionInfo$.getClient(ElasticSearchConnectionInfo.scala:41)
    at esconnection.ESconnectionStart.ESconStart(ESconnectionStart.scala:9)
    at com.ifkaar.hazelcastserver.HazelcastServer.main(HazelcastServer.java:35)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at sbt.Run.invokeMain(Run.scala:98)
    at sbt.Run.run0(Run.scala:92)
    at sbt.Run.execute$1(Run.scala:68)
    at sbt.Run.$anonfun$run$4(Run.scala:80)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
    at sbt.util.InterfaceUtil$$anon$1.get(InterfaceUtil.scala:10)
    at sbt.TrapExit$App.run(TrapExit.scala:253)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.UnsupportedOperationException: Boot class path mechanism is not supported
    at java.management/sun.management.RuntimeImpl.getBootClassPath(RuntimeImpl.java:99)
    at org.elasticsearch.monitor.jvm.JvmInfo.<clinit>(JvmInfo.java:77)
    ... 60 more

2) Error injecting constructor, java.lang.NoClassDefFoundError: Could not initialize class org.elasticsearch.monitor.jvm.JvmInfo
  at org.elasticsearch.cache.recycler.PageCacheRecycler.<init>(Unknown Source)
  while locating org.elasticsearch.cache.recycler.PageCacheRecycler
    for parameter 0 at org.elasticsearch.common.util.BigArrays.<init>(Unknown Source)
  while locating org.elasticsearch.common.util.BigArrays
    for parameter 3 at org.elasticsearch.transport.netty.NettyTransport.<init>(Unknown Source)
  while locating org.elasticsearch.transport.netty.NettyTransport
  while locating org.elasticsearch.transport.Transport
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.elasticsearch.monitor.jvm.JvmInfo
    at org.elasticsearch.common.unit.MemorySizeValue.parseBytesSizeValueOrHeapRatio(MemorySizeValue.java:42)
    at org.elasticsearch.common.settings.ImmutableSettings.getAsMemory(ImmutableSettings.java:401)
    at org.elasticsearch.cache.recycler.PageCacheRecycler.<init>(PageCacheRecycler.java:74)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at org.elasticsearch.common.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:54)
    at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:86)
    at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)
    at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
    at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
    at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
    at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)
    at org.elasticsearch.common.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
    at org.elasticsearch.common.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
    at org.elasticsearch.common.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
    at org.elasticsearch.common.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:98)
    at org.elasticsearch.common.inject.FactoryProxy.get(FactoryProxy.java:52)
    at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
    at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:837)
    at org.elasticsearch.common.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
    at org.elasticsearch.common.inject.Scopes$1$1.get(Scopes.java:57)
    at org.elasticsearch.common.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
    at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:200)
    at org.elasticsearch.common.inject.InjectorBuilder$1.call(InjectorBuilder.java:193)
    at org.elasticsearch.common.inject.InjectorImpl.callInContext(InjectorImpl.java:830)
    at org.elasticsearch.common.inject.InjectorBuilder.loadEagerSingletons(InjectorBuilder.java:193)
    at org.elasticsearch.common.inject.InjectorBuilder.injectDynamically(InjectorBuilder.java:175)
    at org.elasticsearch.common.inject.InjectorBuilder.build(InjectorBuilder.java:110)
    at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:93)
    at org.elasticsearch.common.inject.Guice.createInjector(Guice.java:70)
    at org.elasticsearch.common.inject.ModulesBuilder.createInjector(ModulesBuilder.java:59)
    at org.elasticsearch.client.transport.TransportClient.<init>(TransportClient.java:195)
    at org.elasticsearch.client.transport.TransportClient.<init>(TransportClient.java:125)
    at models.ElasticSearchConnectionInfo$.createClient(ElasticSearchConnectionInfo.scala:31)
    at models.ElasticSearchConnectionInfo$.getClient(ElasticSearchConnectionInfo.scala:41)
    at esconnection.ESconnectionStart.ESconStart(ESconnectionStart.scala:9)
    at com.ifkaar.hazelcastserver.HazelcastServer.main(HazelcastServer.java:35)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at sbt.Run.invokeMain(Run.scala:98)
    at sbt.Run.run0(Run.scala:92)
    at sbt.Run.execute$1(Run.scala:68)
    at sbt.Run.$anonfun$run$4(Run.scala:80)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
    at sbt.util.InterfaceUtil$$anon$1.get(InterfaceUtil.scala:10)
    at sbt.TrapExit$App.run(TrapExit.scala:253)
    at java.base/java.lang.Thread.run(Thread.java:834)
这是配置文件

es.clusterName="myCluster"
es.host="172.18.0.2"
我在elasticsearch docker容器日志中看到了ip
172.18.0.2

Redneck] bound_address {inet[/0.0.0.0:9300]}, publish_address {inet[/172.18.0.2:9300]}
以下是elasticsearch容器的运行状态

docker run -p 9200:9200 -p 9300:9300 --network mynetwork elasticsearch:1.6.0
293f2f750398        elasticsearch:1.6.0         "/docker-entrypoint.…"   30 seconds ago      Up 22 seconds                     0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp   zealous_johnson

请说明我在这里做错了什么

您似乎正在使用jdk 11或更高版本来使用非常旧的Elasticsearch客户端(1.6.0)运行应用程序。我尝试通过jdk 8使用客户端建立连接,并获得了成功。我还尝试了JDK11,但也出现了同样的错误。我希望它能帮助你。

你有没有找到解决这个问题的办法?在升级到Java 11时也遇到了同样的问题。我已将elasticsearch更新为7.1,并使用主机名作为docker容器名