当前位置: 首页 > article >正文

解决: java.lang.RuntimeException: can not run elasticsearch as root

目录

  • 一、问题分析
  • 二、问题解决
  • 三、注意事项


种一棵树最好的时间是10年前,其次就是现在,加油!
                                                                                   --by蜡笔小柯南

一、问题分析

启动es时,报错:org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:173) ~[elasticsearch-7.17.25.jar:7.17.25]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:160) ~[elasticsearch-7.17.25.jar:7.17.25]
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:77) ~[elasticsearch-7.17.25.jar:7.17.25]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112) ~[elasticsearch-cli-7.17.25.jar:7.17.25]
        at org.elasticsearch.cli.Command.main(Command.java:77) ~[elasticsearch-cli-7.17.25.jar:7.17.25]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:125) ~[elasticsearch-7.17.25.jar:7.17.25]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) ~[elasticsearch-7.17.25.jar:7.17.25]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:107) ~[elasticsearch-7.17.25.jar:7.17.25]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:183) ~[elasticsearch-7.17.25.jar:7.17.25]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:434) ~[elasticsearch-7.17.25.jar:7.17.25]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:169) ~[elasticsearch-7.17.25.jar:7.17.25]
        ... 6 more
uncaught exception in thread [main]
java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:107)
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:183)
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:434)
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:169)
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:160)
        at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:77)
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112)
        at org.elasticsearch.cli.Command.main(Command.java:77)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:125)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80)

意思是:不能以root用户来运行es,es默认是不能以root用户来运行es的,所以,我们需要新建一个用户,以非root用户来运行

二、问题解决

  1. 创建新用户,使用adduser 命令,adduser 后跟用户名,这个用户名可以随便起,下面以es为例
    -- 创建一个名为 es 的用户
    
    adduser es
    
  2. 创建完成后,使用 id 命令,查看是否能看到: uid、gid、groups 信息
    id es
    
  3. 查看 /home 目录下,是否有和用户名一致的文件夹目录,用户成功创建后,会在 home下生成一个以用户名命名的文件夹
    ls /home
    
  4. 有对应的文件夹说明用户创建成功
  5. 给新创建的用户设置密码,输入密码以及确认密码后,回车确认
    passwd es
    
    在这里插入图片描述
  6. 授予新用户权限,chown -R es:es 你自己es的安装路径,路径替换为你自己的
    将 /opt/es/elasticsearch-7.17.25/ 替换为你自己的es路径
    
    chown -R es:es /opt/es/elasticsearch-7.17.25/
    
  7. 切换到新创建的用户
    su es
    
  8. 输入密码进行切换
  9. 再启动运行es

三、注意事项

如果使用了 useradd 命令去创建用户,使用 id 命令查询时,存在 uid、gid、groups信息,但是在 /home 下没有用户文件目录,如果还想创建这个名称的用户时,需要先删除用户,使用以下命令:

删除用户名为es的用户,根据你自己的用户名进行修改

userdel -r es

注意:删除完成后,再使用 adduser 命令去创建,不要用 useradd 去创建



如果你有任何疑问或经验分享,可以在评论区留言哦~~

不管在任何时候,我希望你永远不要害怕挑战,不要畏惧失败。每一个错误都是向成功迈出的一步,每一个挑战都是成长的机会,因为每一次的努力,都会使我们离梦想更近一点。只要你行动起来,任何时候都不算晚。最后,把座右铭送给大家:种一棵树最好的时间是10年前,其次就是现在,加油!共勉 💪。

在这里插入图片描述


http://www.kler.cn/news/365668.html

相关文章:

  • spring整合使用xml方式整合Druid数据源连接池
  • 公司章程拟定,定制公司章程
  • 设计模式---模版模式
  • 大家都在用的HR招聘管理工具:国内Top5排名
  • 用 Vue 打造高效 Gherkin 自动化测试脚本编写工具
  • Docker 下备份恢复oracle
  • 034 RabbitMQ简介 安装 SpringBoot整合RabbitMQ框架搭建
  • STMicroelectronics意法半导体车规芯片系列--亿配芯城(ICgoodFind)
  • 非接触式竖向位移、水平位移视频实时在线监测的设备分类及选型
  • 作业5-laravel 操作数据库
  • docker集成Nginx和Mysql (教程)
  • 安达发|氢能源产业与APS生产排程软件的结合
  • 笔记本电脑充不进去电怎么回事 笔记本电脑充不上电解决
  • Elastic Stack - FileBeat 入门浅体验
  • ChartCheck: Explainable Fact-Checking over Real-World Chart Images
  • MongoDB简单学习
  • 【软件工程】软件工程入门
  • 论文速读:YOLO-G,用于跨域目标检测的改进YOLO(Plos One 2023)
  • 人脸应用实例:性别年龄预测
  • AMD锐龙8845HS+780M核显 虚拟机安装macOS 15 Sequoia 15.0.1 (2024.10)
  • 中国自动驾驶时代记:技术、理想和“真经路”
  • 数据结构——查找
  • 青少年编程与数学 02-002 Sql Server 数据库应用 12课题、存储过程编写
  • SpringBoot实战:房屋租赁管理系统开发全解析
  • 计算机网络原理总结C-网络层
  • 101链表指定区间反转