elasticsearch启动详解

一、elasticsearch启动命令

elasticsearch是通过命令行方式启动的,执行命令前需要确保Java环境已经安装。启动命令如下:

./bin/elasticsearch

启动过程大致分为以下几个步骤:

1、首先会检查JVM参数是否正确;

2、其次会检查配置文件是否正确;

3、然后会创建日志文件;

4、接着启动elasticsearch服务;

5、最后开始监听端口并对外提供服务。

二、elasticsearch启动卡住了

有时候我们在启动elasticsearch时可能会遇到卡住的情况,通常这种情况是由于JVM参数设置不当、硬件资源不足或其他未知原因造成的。遇到这种情况需要先检查一下JVM的日志,看看是不是有什么异常信息。

另外,我们还可以通过增加JVM内存大小来解决这个问题,JVM内存的配置文件为elasticsearch.yml,将下面的参数值调大即可。

    bootstrap.memory_lock: true
    discovery.type: single-node
    ES_JAVA_OPTS: "-Xms4g -Xmx4g"

三、elasticsearch启动使用root

通常情况下我们不应该以root用户启动elasticsearch,因为elasticsearch使用root权限启动会存在安全问题,而且我们也不需要root权限来启动elasticsearch。如果实在无法避免使用root权限启动,可以在启动命令前加上sudo。

sudo ./bin/elasticsearch

四、elasticsearch启动报错

在启动elasticsearch时可能会遇到各种各样的报错,这些报错信息通常是非常友好的。针对报错信息可以通过检查JVM配置、配置文件格式有误、端口占用等方面进行排查。

例如下面这个错误表示JVM内存不足:

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000ccb80000, 273678336, 0) failed; error='Cannot allocate memory' (errno=12)

又例如下面这个错误表示配置文件格式有误:

Exception in thread "main" SettingsException[Failed to load settings from [elasticsearch.yml]]; nested: ElasticSearchParseException[Failed to parse the [http.port] setting value [invalid]]; nested: NumberFormatException[For input string: "invalid"];

五、elasticsearch启动关闭

如果需要关闭elasticsearch,可以直接在终端中按下Ctrl+C。

如果需要远程关闭elasticsearch,则需要发送一个POST请求到http://localhost:9200/_shutdown,如下所示:

curl -X POST "http://localhost:9200/_shutdown"

六、elasticsearch启动失败

如果elasticsearch启动失败,可能是由于以下原因导致:

1、JVM启动参数设置有误;

2、硬件资源不足;

3、操作系统限制了进程数量;

4、配置文件格式有误;

5、已有的elasticsearch用户没有启动elasticsearch的权限。

七、elasticsearch启动卡住

如果elasticsearch启动过程中卡住了,我们可以先检查一下JVM参数是否设置正确,同时也可以查看一下日志文件,看看是否有什么异常信息。

如果elasticsearch服务已经在运行了但是管理界面没有响应,则可能是由于TCP/IP端口被防火墙或其它原因阻塞了。

八、elasticsearch启动参数

在启动elasticsearch时我们可以通过传递参数来改变默认行为,例如启动时关闭搜索缓存:

./bin/elasticsearch -E "search.cache.enabled=false"

更多启动参数可以查看elasticsearch的官方文档。

九、elasticsearch启动日志

elasticsearch启动时会生成日志文件,日志文件地址为logs/elasticsearch.log,在调试过程中可以通过查看日志文件来了解elasticsearch运行的详细信息。

十、elasticsearch启动不了

如果elasticsearch启动不了,可能是由于硬件资源不足导致的或者操作系统设置了进程数量限制,请先查看JVM内存、硬盘空间是否足够。

如果硬件资源充足,可以尝试修改操作系统的限制值,如下所示:

sudo sysctl -w vm.max_map_count=262144

以上是macOS的设置方法,如果是其他操作系统需要查看相关文档。

总之,elasticsearch启动过程中遇到问题并不可怕,很多问题都可以通过查看日志、调整JVM参数、修改配置文件来解决。逐个排查问题,我们相信你一定能顺利启动elasticsearch。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/196118.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-03 09:53
下一篇 2024-12-03 09:53

相关推荐

  • Elasticsearch API使用用法介绍-get /_cat/allocation

    Elasticsearch是一个分布式的开源搜索和分析引擎,支持全文检索和数据分析,并且可伸缩到上百个节点,处理PB级结构化或非结构化数据。get /_cat/allocation…

    编程 2025-04-28
  • Elasticsearch Scroll Java的使用指南

    本文旨在详细介绍如何使用Elasticsearch Scroll Java。Elasticsearch Scroll Java是一种高效的遍历大型数据集的方法。通过它,我们可以逐个…

    编程 2025-04-27
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25
  • MPU6050工作原理详解

    一、什么是MPU6050 MPU6050是一种六轴惯性传感器,能够同时测量加速度和角速度。它由三个传感器组成:一个三轴加速度计和一个三轴陀螺仪。这个组合提供了非常精细的姿态解算,其…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25

发表回复

登录后才能评论