elasticsearch部署过程中各种报错解析

2023-11-18

  1. elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
    

    ES不能能使用root用户直接运行,必须使用普通用户运行。
    解决办法:添加用户,ES安装目录的所有者。

    adduser 用户名
    chown -R 用户名:用户组名 目录路径
    
  2. Exception in thread "main" java.nio.file.AccessDeniedException: /opt/app/elasticsearch-6.6.0/config/jvm.options
    

    使用的用户对安装目录的文件没有权限造成的,(可能是当前登录的用户没有权限,也可能是在更改安装目录的所有者的时候没有递归安装)
    解决办法:
    切换用户在启动es,如果报同样错误,使用chown -R 用户名:用户组名 目录路径更改文件所有者。

  3. [WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [es1] uncaught exception in thread [main]
    org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: Unable to access ‘path.data’ (/var/es/dat)
    因为不是root用户,在配置文件的时候。数据目录和日志目录等不能应该放在用户家目录下,防止因为该用户不能在所设置的目录下创建文件而引起报错。

  4. [unknown] unable to install syscall filter: 
    java.lang.UnsupportedOperationException: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed
    

    Centos6不支持SecComp,而高版本ES在5.X之后默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动
    解决办法(两种):
    1.可以把Centos内核升级到Centos7。
    2.修改配置文件,关闭ES启动时候的安全检测。具体elasticsearch.yml中配置

    bootstrap.memory_lock: false
    #这个配置项在memory中可以找到,默认为True,改为false即可。
    bootstrap.system_call_filter为false:
    #这个配置项配置文件中没有需要添加。```
    
  5. 【1】: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536] 
    【2】: max number of threads [1024] for user [es] is too low, increase to at least [4096] 
    【3】: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    

    【1】系统设置的文件描述符太少了
    【2】为用户设置的可以开启的线程太少了,这两个可以通过配置文件vi /etc/security/limits.conf 更改
    切换到root用户,编辑limits.conf 添加类似如下内容
    vi /etc/security/limits.conf
    添加如下内容:(这里只为启动ES的es用户更改了安全限制)

    es soft nofile 65536   #solf是软限制的意思,hard是硬限制;软限制可以在程序的进程中自行改变(突破限制),而硬限制则不行(除非程序进程有root权限)
    es hard nofile  65536  #nofile 文件描述符
    es soft nproc 4096    #nproc  进程的限制
    es hard nproc 4096	
    

    这里两个的设置没有让其立即生效的命令必须要通过重启使其生效。另外网上很多直接把第一项换为“ * ”,*是指所有用户,如果在生产中强烈不建议这样做,可能会对其他用户造成影响。

    2019.3.3更正:
    这是三项的配置不必重启使其生效,我在配置另外一台虚拟机的es的时候,直接把原来的虚拟机的limits.conf文件使用scp命令拷贝过来后,没有重启电脑便可以直接启动es

    【3】虚拟内存区域最大映射值太小了 通过vi /etc/sysctl.conf 可以更改。

    切换到root用户修改配置sysctl.conf
    vi /etc/sysctl.conf
    添加下面配置:
    vm.max_map_count=655360
    并执行命令:
    sysctl -p(可以使其永久)

  6. 本机可以访问.但是局域网外的其他机器无法访问
    修改elasticsearch.yml配置文件,network.host项,绑定本机的IP
    PS:在配置文件中的localhost,回环IP,路径是tmp的一定要注意更改。

  7. SettingsException[Failed to load settings from [elasticsearch.yml]]; nested: 	ParsingException[Failed to parse object: expecting token of type [START_OBJECT] but found [VALUE_STRING]];
    

    配置文件格式错误:
    配置文件的key:value之间的:后面必须有一个空格。

  8. Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 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 986513408 bytes for committing reserved memory.
    

    内存不足导致Java无法运行,(在elasticsearch和logstash中均可能出现)
    解决办法:
    这个时候查看一下free -m 查看可用内存,然后查看config下的jvm.options文件,-Xms1g-Xmx1g配置的内存大小,更改此而配置项或者添加内存均可。

  9. 第一次启动使用root用户启动,在config目录下创建了文件,需要删除

  10. Error: Port 5601 is already in use. Another instance of Kibana may be running!
    

    这是因为5601的端口被占用了,一般有因为以下几种可能而导致:

    netstat -tunlp|grep 5601   #查看端口占用情况,找到端口对应的进程id
    ps aux | grep PID  #查看对应的进程 
    #然后根据进程情况确定更改哪一个程序的端口号,使其不冲突即可
    
  11. [warning][license][xpack] License information from the X-Pack plugin could not be obtained from Elasticsearch for the [data] cluster. [invalid_index_name_exception] Invalid index name [_xpack], must not start with '_'., with { index_uuid="_na_" & index="_xpack" } :: {"path":"/_xpack","statusCode":400,"response":"{\"error\":{\"root_cause\":[{\"type\":\"invalid_index_name_exception\",\"reason\":\"Invalid index name [_xpack], must not start with '_'.\",\"index_uuid\":\"_na_\",\"index\":\"_xpack\"}],\"type\":\"invalid_index_name_exception\",\"reason\":\"Invalid index name [_xpack], must not start with '_'.\",\"index_uuid\":\"_na_\",\"index\":\"_xpack\"},\"status\":400}"}
    

    Kibana连接elasticsearh的时候,浏览器中报错为
    Cannot connect to the Elasticsearch cluster currently configured for Kibana.
    `To use the full set of free features in this distribution of Kibana, please update Elasticsearch to the default distribution.```
    看报错信息显示因该是版本的问题,但是理论上elatic官网上的一套应该是没有问题的,我试着卸载X-pack,发现es不能卸载,然后尝试了很多办法无果后,提交给了官网,收到回复如下:


您好,
非常感谢您的回复。
初步了解您的情况之后,我找到了一个跟您问题相似的帖子,麻烦您参考下
https://discuss.elastic.co/t/license-information-from-the-x-pack-plugin-could-not-be-obtained-from-elasticsearch-for-the-data-cluster/148030/9

不知道您是否方便尝试用下oss only的kibana?
https://www.elastic.co/downloads/kibana-oss

麻烦您看下是否能帮助解决您的问题~ 如果还有问题欢迎随时与我联系。您也可以加我的微信:(这个就不显示了)

希望Elastic能带给您一个无与伦比的使用体验!

Best regards,


重点在上周新版本更新中,我直接用了最新的6.6.1,然后就没有问题了,哈哈

12.elasticsearch 6.6.1的新报错

Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file logs/gc.log due to Permission denied

Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException: /opt/app/elasticsearch-6.6.1/config/elasticsearch.keystore
Likely root cause: java.nio.file.AccessDeniedException: /opt/app/elasticsearch-6.6.1/config/elasticsearch.keystore

第一次启动es使用了root用户,在config目录下创建了文件elasticsearch.keystore,只需要进入之后把文件删除,然后用es的用户启动就可以了。

2019年6月27日更新:

13.浏览器连接不上Kibana,资源无限重定向(特别早遇到的报错,今天想起来了)
在使用6.6.1的Kibana的时候,集群跑一个周末,不操作,等到周一的时候,会出现浏览器连接补了Kibana的情况,但是Kibana的进程什么的都正常,报错信息好像是因为资源无限重定向这样的信息。
这个问题咨询官网好像也是版本问题,具体情况我忘记了,但是现在记得还有一个这样的问题,大家如果遇到了可以

今天搭建集群的时候遇到新的报错,是因为我在一个节点启动了es,生成了数据文件,然后没有删除数据文件,就把目录用scp拷贝到其他的节点上而造成的,具体的报错信息如下:

failed to send join request to master [{node10}{nIHo2TdDRw-1-nbhr-Lmzw}{n_vGmHO9R2umfw99C5nOSg}{192.168.56.10}{192.168.56.10:9300}{ml.machine_memory=1968349184, ml.max_open_jobs=20, xpack.installed=true, ml.enabled=true}], reason [RemoteTransportException[[node10][192.168.56.10:9300][internal:discovery/zen/join]]; nested: IllegalArgumentException[can't add node {node11}{nIHo2TdDRw-1-nbhr-Lmzw}{XcZDBLmxRCeKsHm4jp2M8w}{192.168.56.11}{192.168.56.11:9300}{ml.machine_memory=1968349184, ml.max_open_jobs=20, xpack.installed=true, ml.enabled=true}, found existing node {node10}{nIHo2TdDRw-1-nbhr-Lmzw}{n_vGmHO9R2umfw99C5nOSg}{192.168.56.10}{192.168.56.10:9300}{ml.machine_memory=1968349184, xpack.installed=true, ml.max_open_jobs=20, ml.enabled=true} 
with the same id but is a different node instance]; 

删除安装目录下的data文件夹,然后重新启动即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

elasticsearch部署过程中各种报错解析 的相关文章

随机推荐

  • android从一个应用跳转到另一个应用

    获取launcher中的应用列表 Intent intent new Intent intent setAction Intent ACTION MAIN intent addCategory Intent CATEGORY LAUNCHE
  • 奇异谱分解轴承故障诊断代码编写

    答 我可以为您提供一些建议 以帮助您编写奇异谱分解轴承故障诊断代码 1 首先 要确定故障类型 以便确定诊断策略 2 然后 可以使用多种故障诊断技术 包括奇异谱分析 以及其他故障诊断技术 3 为了更好地掌握故障特征 可以使用相关的轴承数据库
  • 最近在学动态规划,很有意思的算法(1)拿金币

    问题描述 有一个N x N的方格 每一个格子都有一些金币 只要站在格子里就能拿到里面的金币 你站在最左上角的格子里 每次可以从一个格子走到它右边或下边的格子里 请问如何走才能拿到最多的金币 输入格式 第一行输入一个正整数n 以下n行描述该方
  • 代码扫描工具对比

    1 概述 随着网络的飞速发展 各种网络应用不断成熟 各种开发技术层出不穷 上网已经成为人们日常生活中的一个重要组成部分 在享受互联网带来的各种方便之处的同时 安全问题也变得越来越重要 黑客 病毒 木马等不断攻击着各种网站 如何保证网站的安全
  • asm:常见指令大全

    常见指令大全 算数指令 INC 指令 DEC 指令 ADD 指令 SUB指令 MUL指令 IMUL指令 DIV指令 IDIV指令 逻辑指令 AND指令 OR指令 XOR 指令 TEST指令 NOT指令 交换指令 xchg 比较指令 CMP指
  • MySQL(二)——基本操作

    MySQL操作 数据库操作 创建数据库 列出 MySQL数据库列表 使用数据库 判断当前所处的数据库 删除数据库 数据库表操作 数据库中的所有表 创建数据表 查询表结构 查询指定表的建表语句 修改表名 删除表单 删除该表并重新再创建 格式化
  • VUE锚点跳转增加滑动效果

    首先我通过直接的锚点跳转是实现不了滑动效果 所以首先实现锚点的跳转效果 先给点击的地方 设置一个点击事件 a 跳转 a 然后是被跳转的地方添加 class industry
  • 只需6行代码教你使用Spire.Doc在Java中将 Word 转为 Tiff

    Spire Doc for Java 是一款专业的Java Word组件 开发人员使用它可以轻松地将Word文档创建 读取 编辑 转换和打印等功能集成到自己的Java应用程序中 本文介绍如何使用Spire Doc for Java将Word
  • linux:ubuntu命令行扩容

    参考 ubuntu 20 04 逻辑卷 ext4 文件系统扩容 mob604757006a49的技术博客 51CTO博客 总结 准备步骤 链接里没有说明 我参考了其他的帖子增加的一步 1 关闭虚拟机 右键虚拟机 选择 设置 2 在虚拟机设置
  • android 富文本框架_史上最全 Appium 自动化测试从入门到框架实战精华学习笔记(二)

    本文为霍格沃兹测试学院学员学习笔记 进阶学习文末加群 本系列文章汇总了从 Appium 自动化测试从基础到框架高级实战中 所涉及到的方方面面的知识点精华内容 如下所示 希望对大家快速总结和复习有所帮助 Appium 自动化测试从基础到框架实
  • python网络安全论文题目_计算机科学与技术专业毕业论文参考题目.doc

    感谢你的欣赏 计算机科学与技术专业 毕业论文参考题目 一 论文参考题目 基于定位和在线绘图的签到考勤系统的设计与实现 基于 ASP NET 技术的校园网络自助报修系统的设计与实现 基于 HTML5 的互动抽取系统的设计与实现 基于 Web
  • React的State Hook用法详解

    一 State Hook是啥 State Hook 就是指 useState 这个特殊函数 让你不用编写class 就可以使用state特性 换言之就是让 函数组件 拥有 state 特性 对数据进行动态更新 二 class中的state
  • RHCE(chrony服务器)

    chrony服务器 chrony服务器是一个开源自由的网络时间协议NTP的客户端和服务器的软件 他能让计算机保持系统时钟和时钟服务器保持同步 让计算机保持精确的时间 chrony也可以作为服务端软件为其他计算机提供时间同步服务 chrony
  • 输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序

    例 输入为18时 输出为3 4 5 6 5 6 7 include
  • Tomcat 配置 闪退 catalina.bat start

    过年的时候配置好的Tomcat 今天一用竟然启动不了 我晕 java home catalina base catalina home 全部是原来的配置 没有修改过 为什么不能用了那 遇到的问题如下 1 启动Tomcat在cmd中输入 ca
  • SpringBoot整合Mybatis注解实战(一)-- 插入数据

    1 数据库数据表的创建 1 首先 在本地数据库中创建一个新数据库 再此命名为test mybatis 1 创建一个数据表user 创建脚本如下 user表创建脚本 CREATE TABLE user id int 11 unsigned N
  • unity期末大作业 搬运东西过河 益智游戏

    unity期末大作业 搬运东西过河 益智游戏 详细情况如下动态图 点我下载 https download csdn net download weixin 43474701 75859840
  • 从“星空”主题绘画系统出发寻求绘画的可能性

    引言 对于绘画的定义 众说纷纭 百度词条上的绘画是这样的 绘画 是指用笔 板刷 刀 墨 颜料等工具材料 在纸 纺织物 木板 墙壁等平面 二度空间 上塑造形象的艺术形式 2016年吕澎在 论绘画 中说 知识与感觉是评估绘画的两个基本出发点 而
  • Redis有哪些数据类型?

    它主要提供了5种数据类型 字符串 string 哈希 hash 列表 list 集合 set 有序集合 zset Redis还提供了Bitmap HyperLogLog Geo类型 但这些类型都是基于上述核心数据类型实现的 5 0版本中 R
  • elasticsearch部署过程中各种报错解析

    elasticsearch bootstrap StartupException java lang RuntimeException can not run elasticsearch as root ES不能能使用root用户直接运行