elasticsearch启动报错解决 问题集分析

2023-11-10

elasticsearch解决启动报错问题集

ps:别问我为什么知道这么多报错,我就是从安装到启动。。。一步一步按着下面报错顺序踩坑的,气死了。。。。希望能帮到入门的你

1 内存报错

报错信息:

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 2060255232 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /root/hs_err_pid8704.log

分析:
信息当中说了error=‘Cannot allocate memory’ ,证明服务器内存不足了。
由于elasticsearch5.0 默认分配 jvm 空间大小为2g,所以修改 jvm空间分配即可。

解决:

vim config/jvm.options
执行上面代码 修改相关参数,将2g修改为512m
-Xms2g   --> -Xms512m
-Xmx2g   --> -Xmx512m

2 用户报错 [root]

报错信息:

[WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException:
can not run elasticsearch as root

分析:
信息当中说了"can not run elasticsearch as root",看的出来是elasticsearch不允许用root角色去启动项目

解决:

  1. 创建elsearch用户组及elsearch用户:
groupadd elsearch
useradd elsearch -g elsearch
passwd elsearch
  1. 使用root角色更改elsearch文件夹的用户组和用户
先登录root角色然后执行下面命令
chown -R elsearch:elsearch  elasticsearch-5.5.1

在这里插入图片描述
3. 切换到elsearch角色然后执行启动命令

su elsearch 
./elasticsearch-5.5.1/bin/elasticsearch  #启动命令

3 创建描述文件大小太低

报错信息:

[2021-02-02T16:09:02,753][INFO ][o.e.n.Node               ] [YD8pyGI] starting ...
[2021-02-02T16:09:03,073][INFO ][o.e.t.TransportService   ] [YD8pyGI] publish_address {172.16.174.76:9300}, bound_addresses {0.0.0.0:9300}
[2021-02-02T16:09:03,099][INFO ][o.e.b.BootstrapChecks    ] [YD8pyGI] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
ERROR: [1] bootstrap checks failed
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
[2021-02-02T16:09:03,158][INFO ][o.e.n.Node               ] [YD8pyGI] stopping ...
[2021-02-02T16:09:03,212][INFO ][o.e.n.Node               ] [YD8pyGI] stopped
[2021-02-02T16:09:03,212][INFO ][o.e.n.Node               ] [YD8pyGI] closing ...
[2021-02-02T16:09:03,227][INFO ][o.e.n.Node               ] [YD8pyGI] closed

分析:
"max file descriptors [65535] forxxxxxx "这句就很好的描述了问题,就是文件大小不足,我们去修改相关的参数即可

解决:

使用root角色执行
vim /etc/security/limits.conf

两种解决方法,下图使用的第一种解决方法

1.添加刚刚新增的用户elsearch创建文件大小
     elsearch soft nofile 65536
     elsearch hard nofile 65536

2.修改后面 "*"对应的文件大小,*是通配符代表所有用户
     * soft nofile 65536
     * hard nofile 65536
修改完之后记得重启服务器,不然可能不生效

在这里插入图片描述

4 配置network.host: 0.0.0.0导致服务启动不成功

个人情况是走完上面的报错之后项目就能顺利启动了,但后面为了所有机器都能访问elsearch就配置了network.host: 0.0.0.0。然后就启动报错了

报错信息:

[2021-02-03T14:30:11,075][INFO ][o.e.t.TransportService   ] [YD8pyGI] publish_address {172.16.174.76:9300}, bound_addresses {0.0.0.0:9300}
[2021-02-03T14:30:11,084][INFO ][o.e.b.BootstrapChecks    ] [YD8pyGI] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low,
 increase to at least [262144]
[2021-02-03T14:30:11,137][INFO ][o.e.n.Node               ] [YD8pyGI] stopping ...
[2021-02-03T14:30:11,210][INFO ][o.e.n.Node               ] [YD8pyGI] stopped
[2021-02-03T14:30:11,211][INFO ][o.e.n.Node               ] [YD8pyGI] closing ...
[2021-02-03T14:30:11,221][INFO ][o.e.n.Node               ] [YD8pyGI] closed

分析:
“max virtual memory areas vm.max_map_count [65530] is too low,” 这个报错也很明显了,和之前文件的一样设置成相应的数值即可

解决:

1.使用root角色执行
vim /etc/sysctl.conf
2.增加以下参数
vm.max_map_count=262144 
3.重启服务器(记得重启,不然可能不生效)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

elasticsearch启动报错解决 问题集分析 的相关文章

  • /usr/bin/as:无法识别的选项“-EL”

    因此 在为我的1plus手机编译android内核时 经过3天的多次尝试 我放弃了并尝试在这里询问是否有人以前遇到过这个问题 这个错误对我来说有点模糊 但我觉得问题来自于我最近对 GNU Linux 发行版 Gentoo 的更改 它在不应该
  • 在linux中使用setcap [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 要将 cap net raw 功能添加到 例如 bin ping 我们使用以下命令 setcap cap net raw ep bin ping ep
  • 如何获取文件夹的大小,包括稀疏文件的表观大小? (du太慢了)

    我有一个包含很多KVM qcow2文件的文件夹 它们都是稀疏文件 现在我需要获取文件夹的总大小 qcow2 文件大小应计为表观大小 而不是实际大小 例如 图片 c9f38caf104b4d338cc1bbdd640dca89 qcow2 文
  • 查询格式错误,查询名称后没有 start_object

    我正在针对 AWS Elasticsearch 5 1 运行此查询并收到格式错误的查询错误 这是请求的正文 我基本上只是检查该字段在时间范围内是否存在 query bool filter bool must range timestamp
  • C 标准库函数与系统调用。哪个是“open()”?

    I know fopen 在C标准库中 所以我绝对可以调用fopen C 程序中的函数 我感到困惑的是为什么我可以打电话给open 功能也一样 open 应该是系统调用 所以它不是标准库中的C函数 因为我能够成功地调用open 函数 我调用
  • 如何将字符串推送到标准输入?在启动时通过 stdin 提供输入,然后以交互方式读取 stdin 输入 [重复]

    这个问题在这里已经有答案了 有没有办法在调用程序时将字符串 推送 到程序的标准输入流 这样我们就可以达到这样的效果 echo something my program 但不是在之后读取 EOF something my program将从原
  • 连接到 Elasticsearch Heroku 数据库

    我已经在 Heroku 上使用 Bonsai elasticsearch 插件设置了一个入门帐户 我正在尝试通过 Java 应用程序连接到它 但似乎无法通过 Transport Client 或 Elasticsearch 文档页面上解释的
  • 在Linux中执行jar文件[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我创建了一个可执行的 Java jar 文件 也就是说 我将 java 程序正确打包到 jar 文件中 包括 META INF MANIFEST 文件
  • 如何搭建qtwayland?

    我花了一整天的时间尝试使用QtWayland Compositor 1 0在 Qt 创建者中 我已经遵循了从那里开始的所有步骤https wiki qt io QtWayland https wiki qt io QtWayland但我收到
  • `docker-compose up` 与使用环境变量的 `docker compose up`

    我正在尝试使用 Docker Compose 将三节点 Elasticsearch 集群部署到 Azure 容器实例 我松松地跟随这个例子 https www elastic co guide en elasticsearch refere
  • Git - 致命:无法获取当前工作目录?

    When I git clone从回购协议中 我得到 fatal Could not get current working directory No such file or directory 我该怎么办 我检查了服务器并发现 git文
  • 检查上次更改密码的时间[关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的
  • Bash 脚本错误 [重复]

    这个问题在这里已经有答案了 我想知道下面的脚本有什么错误 我收到错误为 command not foundh line 1 command not foundh line 2 其连续的 我试过添加 但现在工作请告诉我该怎么做 bin bas
  • 串口读取未完成

    下面的函数用于在Linux下从串口读取数据 我在调试时可以读取完整的数据 但是当我启动程序时 读缓冲区似乎并不完整 我正确接收了一小部分数据 但缓冲区的其余部分完全正确zero 可能是什么问题呢 int8 t serial port ope
  • 如何每周日运行 crontab 作业

    我想弄清楚如何每周周日运行 crontab 作业 我认为以下应该可行 但我不确定我是否理解正确 下面的说法正确吗 5 8 6 这是 crontab 格式的解释 1 Entry Minute when the process will be
  • 仅为我自己禁用和重新启用地址空间布局随机化

    我想在我的系统 Ubuntu Gnu Linux 2 6 32 41 server 上禁用地址空间布局随机化 ASLR 但是 如果我使用 sysctl w kernel randomize va space 0 我认为这一更改将影响系统上的
  • 超立方体错误。非法的最小或最大规格

    尝试从这里运行示例代码http tess4j sourceforge net codesample html http tess4j sourceforge net codesample html我收到一条错误消息 Error Illega
  • 如何使用 sed 交换两行?

    有谁知道如何更换line a with line b and line b with line a使用 sed 编辑器在文本文件中 我可以看到如何用保留空间中的一行替换模式空间中的一行 即 Paco x or Paco g 但是如果我想采取
  • copy_from_user() 错误:目标大小太小

    我正在为内核模块编写 ioctl 处理程序 我想从用户空间复制数据 当我编译禁用优化的代码时 O0 gflags 编译器返回以下错误 include linux thread info h 136 17 error call to bad
  • 在linux中将包含word的行从一个文件复制到另一个文件

    我想复制包含某些单词的行file1 to file2 Suppose file1 ram 100 ct 50 gopal 200 bc 40 ravi 50 ct 40 krishna 200 ct 100 file2应该只有包含 ct 的

随机推荐

  • SQL巩固以及数据库、表结构优化

    SQL巩固 数据库 表结构优化 前言 对于初级程序开发工程师而言 SQL是很多人的弱项 为此我给大家来做一下总结 希望能够帮到你们 课程说明 1 介绍项目实战开发过程中常用的MySQL函数及常用语法 并且分析三种联合查询原理及如何使用 什么
  • STM32单片机初学8-SPI flash(W25Q128)数据读写

    当使用单片机进行项目开发 涉及大量数据需要储存时 例如使用了屏幕作为显示设备 常常需要存储图片 动画等数据 单靠单片机内部的Flash往往是不够用的 如STM32F103系列 内部Flash最多只能达到512KByte 假设要储存240 2
  • linux list 类型,Redis数据类型之List类型

    List类型及操作 List是一个链表结构 主要功能是push pop 获取一个范围的所有值等等 操作中key理解为链表名字 Redis的list类型其实就是一个每个子元素都是string类型的双向链表 我们可以通过push pop操作从链
  • java中HashSet的使用详解

    http jingyan baidu com article 48206aead61355216bd6b34a html 一 添加方法 1 add value 方法 可以向set中添加一个元素 注意 set中不能存储重复的元素 可以存储nu
  • C# VS2012操作word文档 (二).插入表格图片

    在上一篇文章 C VS2012创建word文档 一 中我们讲述了如何使用VS2012引用COM中Miscrosoft Word 14 0 Object Library实现创建文档 而这篇文章将讲述如何添加表格和图片 因为我在C 联系数据库做
  • 用c语言编写的经典程序,c语言入门的经典程序

    c语言入门的经典程序 对于C语言的初学者来说 有哪些经典程序需要学习的那么 下面小编为大家带来了c语言入门的经典程序 欢迎大家阅读 c语言入门的经典程序 1 输出 9 9 口诀 共 9 行 9 列 i 控制行 j 控制列 include s
  • 从0开始学Python(2)

    前言 还在被优先级搞得焦头烂额吗 还在为python中众多运算符傻傻分不清楚而困惑吗 在这里将会对python中的运算符进行深度刨析 为你解惑 这里是目录 前言 还在被优先级搞得焦头烂额吗 还在为python中众多运算符傻傻分不清楚而困惑吗
  • show profile和全局查询日志

    文章目录 1 show profile 2 全局查询日志 1 show profile show profile是MySQL提供可以用来分析当前会话中语句执行的资源消耗情况 可以用于SQL的调优的测量 默认情况下 参数处于关闭状态 并保存最
  • java.io.FileNotFoundException异常的问题

    这个异常抛出的两种情况 1 拒绝访问 2 系统找不到指定的路径 在构造一个File对象时 指定的文件路径是什么都可以 就算不存在也能够构造File对象 但是现在你要对文件进行输入和输出操作的时候 也就是InputStream和OutputS
  • 论用C语言写一个PE解释器(3)

    论用C语言写一个PE解释器 3 前情提要 在上一篇文章里 我们提到了PE解释器的基本执行流程 但是还有很多细节的部分没有提到 而我们现在就来完善这些细节 一 关于解释文件用的指针 可能在上篇文章中 有读者会有疑问 可不可以用FILE文件指针
  • java中交换机的作用_在Java交换机中声明和初始化变量

    问题 我有一个关于Java交换机的疯狂问题 int key 2 switch key case 1 int value 1 break case 2 value 2 System out println value break defaul
  • 简单实用Python程序

    描述 此为遍历一个文件夹里面的所有 py文件并将文件名输出到txt文件 import os import os path import re rootdir D dpkt master dpkt fileTest open r D file
  • Nhibernate使用HQL返回自定义类型

    摘要 使用HQL返回自定义类型的结果集 前提 已经定义好Customer类及其Nhibernate映射文件xml 表结构及数据 自定义类 Mapping文件 条件查询 Criteria Query public IList
  • Python进阶-----高阶函数zip() 函数

    目录 前言 zip 函数简介 运作过程 应用实例 1 有序序列结合 2 无序序列结合 3 长度不统一的情况 前言 家人们 看到标题应该都不陌生了吧 我们都知道压缩包文件的后缀就是zip的 当然还有rar等类型 在Python中也有这么一个函
  • remote: Support for password authentication was removed on August 13, 2021. Please use a personal ac

    一 问题描述 访问了全球最大的同性交友网站 又刚好去更新提交代码 又或你创建了一个新的仓库送给自己 又刚好想把这个仓库送给 push github 你就刚好会遇到这个问题 remote Support for password authen
  • Web菜鸟入门教程 - Springboot接入认证授权模块

    网络安全的重要性不言而喻 如今早已不是以前随便弄个http请求就能爬到数据的时代 而作为一个架构师 网络安全必须在产品开发之初就考虑好 因为在产品开发的后期 一方面是客户增多 压力变大 可供利用的时间也会变少 另一方面 随着时间的推移 项目
  • 归并排序的思想

    归并排序是一种基于分治思想的经典排序算法 它将待排序的数组分成两个部分 然后递归地对这两个部分进行排序 最后再将排序好的两个部分归并成一个有序的数组 具体实现过程如下 1 将待排序数组不断二分 直到只剩下一个元素 此时该元素就是有序的 2
  • C语言基础(十二)- 数据结构概览

    相关术语 数据 类 数据对象 集合 数据元素 类对象 数据项 属性 什么是数据结构 概念 相互之间存在一种或多种特定关系的数据元素 类对象 的集合 数据结构包括 数据的逻辑结构 数学形式 集合结构 线性结构 1 1 树形结构 1 n 图形结
  • ORA-28009:connection as SYS should be as SYSDBA OR SYSOPER

    1 美图 1 背景 Navicate链接ORACLE报错 ORA 28009 connection as SYS should be as SYSDBA OR SYSOPER 直接链接报错 ORA 28009 connection as S
  • elasticsearch启动报错解决 问题集分析

    elasticsearch解决启动报错问题集 ps 别问我为什么知道这么多报错 我就是从安装到启动 一步一步按着下面报错顺序踩坑的 气死了 希望能帮到入门的你 1 内存报错 报错信息 Java HotSpot TM 64 Bit Serve