以其他账户安装rpm install elasticsearch时的排坑方法

本文详细介绍了在非elasticsearch用户下安装rpm时遇到的权限问题,包括elasticsearch服务启动失败的原因,如账户权限、配置文件所有权、系统限制等。文章分析了rpm包结构和关键文件,提出了解决方案,建议遵循正确的方法,预先创建对应用户并以该用户安装,以确保服务正常运行。
摘要由CSDN通过智能技术生成

作为一个elastic认证工程师,因为公司内部的一个要求:“必须用一个开发账户来安装所有的软件”,被整得死去活来,惭愧。。。

问题描述

首先,官网上有一点没有写好,如果你用rpm安装elasticsearch的话,必须先创建elasticsearch用户

如果你用一个别的用户,比如说用户名是jboss,在jboss用户下按照官网的命令:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.1.rpm
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.1.rpm.sha512
shasum -a 512 -c elasticsearch-6.6.1.rpm.sha512 
sudo rpm --install elasticsearch-6.6.1.rpm

那么你会遇到如下问题:

  • Rpm安装的时候,会创建对应的账户,无论是SysV还是Systemd,执行systemctl去启动服务时,都是用对应的账户启动的,也就是说会用elasticsearch账户启动elasticsearch, 用kibana账户启动kibana,而不是你期望的jboss用户
  • 但因为之前是在jboss用户下用sudo安装的rpm,这会导致很多配置文件,数据文件,临时文件夹的owner是jboss,这会造成:
    • elasticsearch启动的时候,因为是以elasticsearch用户启动,进程无法访问/etc/elasitcsearch目录
    • 此时,极有可能因为基础架构管理规则,连JDK的权限都是这个jboss,elasticsearch用户也没有权限访问JDK目录,导致出现could not find java; set JAVA_HOME or ensure java is in PATH的错误提示
    • elasticsearch也无法在jboss属主的目录下生成文件,比如elasticsearch的data目录

注意,类似的问题,在安装logstash,kibana,apmserver等其他组件时你也会遇到

因此,如果非得以其他账户来安装elasticsearch,你必须先了解当我们采用rpm安装elasticsearch的时候,默认配置了哪些用户,参数或脚本

rpm包结构与关键文件

首先,我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值