scala - elasticsearch 1.6 elasticsearch命令和代码在jdk11中不起作用

标签 scala elasticsearch elasticsearch-1.6.0

我使用elasticsearch-1.6时,当我拥有java 1.8 sbt版本0.13和scala版本2.11.1后,其工作正常,然后我更新为Java版本

java version "11.0.2" 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)

sbt 1.2.8和scala 2.12.8当我启动elasticsearch命令时
:/opt/elasticsearch-1.6.0/bin$ elasticsearch

表明
Unrecognized VM option 'UseParNewGC'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

当我尝试在代码中创建客户端时
val clusterName=config.getString("es.clusterName")
   val host=config.getString("es.host")

val settings = ImmutableSettings.settingsBuilder().put("cluster.name", clusterName).build();
     client = new TransportClient(settings);
     client.addTransportAddress(new InetSocketTransportAddress(host,9300));

这是配置文件
es.clusterName="myCluster"
es.host="172.18.0.2"

我有以下异常(exception)
org.elasticsearch.common.inject.CreationException: Guice creation errors:

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)

我也怀疑我的/ root文件夹空间不足,是否有可能是造成此问题的原因?

最佳答案

Oracle / OpenJDK 11不支持Elasticsearch1.6.x。您将需要降级Java安装或与JVM 11一起安装最新补丁版的JVM 8,才能尝试运行Elasticsearch1.6.x。 See the JVM / Elasticsearch compatibility matrix.

同时运行过时的JVM和过时的Elasticsearch实例可能会导致安全问题和其他麻烦,因此,我强烈建议您将两者都升级到最新版本。您需要重新索引数据,至少从1.6到7。

关于scala - elasticsearch 1.6 elasticsearch命令和代码在jdk11中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56198180/

相关文章:

scala - 如何在Scala中修复我的斐波那契流

elasticsearch - MongoDB投影附近是否有任何Elasticsearch操作?

javascript - Elastic - 优先排序值

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

java - Elasticsearch :found jar hell in test classpath

scala - 在 Spark/Hadoop 中保存为自定义输出格式

Scala:过滤器强制评估整个流

elasticsearch - 在 Elasticsearch 中,如何通过排名(第一、第二、第三……)字段的值来提高分数?

elasticsearch - elasticsearch7.1索引中的类型在哪里

Scala XML 提取逗号分隔符中的元素