安装Elasticsearch 8.12.2版本出现的问题

        在Elasticsearch 官网下载了一个es的安装包,准备放在windows电脑上研究研究,下载下来之后启动报错。

JDK问题

jdk版本对应

warning: ignoring JAVA_HOME=E:\dev\jdk\jdk17\jdk-17.0.10; using bundled JDK

Exception in thread "main" java.lang.RuntimeException: starting java failed with [1]

output:

#

# There is insufficient memory for the Java Runtime Environment to continue.

# Native memory allocation (mmap) failed to map 8506048512 bytes for G1 virtual space

# An error report file with more information is saved as:

# logs/hs_err_pid18980.log

error:

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000605000000, 8506048512, 0) failed; error='???????С?????????????' (DOS error/errno=1455)

at org.elasticsearch.server.cli.JvmOption.flagsFinal(JvmOption.java:120)

at org.elasticsearch.server.cli.JvmOption.findFinalOptions(JvmOption.java:87)

at org.elasticsearch.server.cli.JvmErgonomics.choose(JvmErgonomics.java:36)

at org.elasticsearch.server.cli.JvmOptionsParser.jvmOptions(JvmOptionsParser.java:139)

at org.elasticsearch.server.cli.JvmOptionsParser.determineJvmOptions(JvmOptionsParser.java:91)

at org.elasticsearch.server.cli.ServerProcess.createProcess(ServerProcess.java:208)

at org.elasticsearch.server.cli.ServerProcess.start(ServerProcess.java:104)

at org.elasticsearch.server.cli.ServerProcess.start(ServerProcess.java:88)

at org.elasticsearch.server.cli.ServerCli.startServer(ServerCli.java:247)

at org.elasticsearch.server.cli.ServerCli.execute(ServerCli.java:100)

at org.elasticsearch.common.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:54)

at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:85)

at org.elasticsearch.cli.Command.main(Command.java:50)

at org.elasticsearch.launcher.CliToolLauncher.main(CliToolLauncher.java:64)

        度娘很多次,搜索warning: ignoring JAVA_HOME=E:\dev\jdk\jdk1.8; using bundled JDK

大多说的是JDK版本不一致,因此我又去下载了很多高版本的JDK,发现结果是一样的 

warning: ignoring JAVA_HOME=E:\dev\jdk\jdk17; using bundled JDK

后面在elasticsearch-env.bat文件中发现他使用的是ES_JAVA_HOME,然后在环境变量中添加了ES_JAVA_HOME对应jdk17

内存问题

        当然没有这么顺利一下子就弄好了,改完这个之后,发现还是报错

warning: ignoring JAVA_HOME=E:\dev\jdk\jdk17; using ES_JAVA_HOME
Exception in thread "main" java.lang.RuntimeException: starting java failed with [1]
output:
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 8506048512 bytes for G1 virtual space
# An error report file with more information is saved as:
# logs/hs_err_pid8088.log
error:
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000605000000, 8506048512, 0) failed; error='???????С?????????????' (DOS error/errno=1455)
        at org.elasticsearch.server.cli.JvmOption.flagsFinal(JvmOption.java:120)
        at org.elasticsearch.server.cli.JvmOption.findFinalOptions(JvmOption.java:87)
        at org.elasticsearch.server.cli.JvmErgonomics.choose(JvmErgonomics.java:36)
        at org.elasticsearch.server.cli.JvmOptionsParser.jvmOptions(JvmOptionsParser.java:139)
        at org.elasticsearch.server.cli.JvmOptionsParser.determineJvmOptions(JvmOptionsParser.java:91)
        at org.elasticsearch.server.cli.ServerProcess.createProcess(ServerProcess.java:208)
        at org.elasticsearch.server.cli.ServerProcess.start(ServerProcess.java:104)
        at org.elasticsearch.server.cli.ServerProcess.start(ServerProcess.java:88)
        at org.elasticsearch.server.cli.ServerCli.startServer(ServerCli.java:247)
        at org.elasticsearch.server.cli.ServerCli.execute(ServerCli.java:100)
        at org.elasticsearch.common.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:54)
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:85)
        at org.elasticsearch.cli.Command.main(Command.java:50)
        at org.elasticsearch.launcher.CliToolLauncher.main(CliToolLauncher.java:64)

        warning: ignoring JAVA_HOME=E:\dev\jdk\jdk17; using ES_JAVA_HOME,这里已经发现他没有JDK的问题了,后面的意思是存在内存问题。

在jvm.options配置文件中,发现内存的配置是注释掉的,然后用的是多少我也不太清楚,当我把他修改为4g(把注释放开)后,就正常运行了

另外发现乱码的话,可以在文件中添加 -Dfile.encoding=GBK

 

SSL/TLS权限问题  

        当我看到启动成功,满环信心的时候,发现页面访问失败。

        多方寻找后,发现有可能是权限问题,尝试用https去访问,发现访问成功了。

        确认了是权限问题后,在elasticsearch.yml里面把这两个配置为false

        再次访问localhost:9200,成功!

参考博客 

jdk17安装 elasticsearch8 遇到的一个坑

Elasticsearch showing received plaintext http traffic on an https channel in console - Stack Overflow

官方文档

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,目前最新版本Elasticsearch是7.12.1,没有8.12.2版本。不过我可以告诉你如何创建连接到Elasticsearch的步骤。 要连接到Elasticsearch,你需要使用一个Elasticsearch客户端库。这些库可以用于不同的编程语言,比如Java、Python、Node.js等。以下是一个通用的连接步骤: 1. 安装Elasticsearch:首先,你需要在你的机器上安装Elasticsearch。你可以从Elasticsearch官方网站下载并按照它们的安装指南进行安装。 2. 安装适当的客户端库:根据你选择的编程语言,安装相应的Elasticsearch客户端库。例如,如果你使用Java,你可以使用Elasticsearch官方提供的Java High-Level REST Client或者其他第三方库。 3. 创建连接:在你的代码中,使用客户端库提供的API来创建与Elasticsearch的连接。通常,你需要指定Elasticsearch集群的主机名和端口号。 4. 进行操作:一旦连接建立成功,你就可以使用客户端库提供的方法来执行各种操作,比如索引文档、搜索、删除等。 下面是一个Java代码示例,展示了如何使用Java High-Level REST Client创建连接到Elasticsearch: ```java import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestHighLevelClient; public class ElasticsearchConnection { public static void main(String[] args) { // 创建连接 RestHighLevelClient client = new RestHighLevelClient( RestClient.builder(new HttpHost("localhost", 9200, "http"))); // 执行操作 // ... // 关闭连接 try { client.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 这是一个简单的示例,你可以根据具体的需求和客户端库的文档来进行更复杂的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值