Elasticsearch启动报错:Exception in thread "main" java.nio.file.AccessDeniedException

在这里插入图片描述
出现以上错误的原因是:用户权限不够,拒绝执行。
可如果用root身份启动,则会报下图中的错误:
在这里插入图片描述
我想到的办法是给用户增加sudo权限,这就需要修改sudoers文件。
首先,切换到root用户:

su - root

输入root用户的密码,由于/etc/sudoers文件是只读文件,需要添加写的权限:

chmod u+w /etc/sudoers

编辑/etc/sudoers文件:

vim /etc/sudoers

找到下图这行
在这里插入图片描述
在这行下面添加一行:

smarthome    ALL=(ALL)       ALL #smarthome是我要赋予权限的用户名

保存并退出。
撤销文件的写权限:

chmod u-w /etc/sudoers

使用sudo启动elasticsearch:

sudo ./bin/elasticsearch

再次报错:

#Elasticsearch启动报错:
which: no java in (/sbin:/bin:/usr/sbin:/usr/bin)
could not find java; set JAVA_HOME or ensure java is in PATH

/etc/profile中的java环境配置部分如下:

JAVA_HOME=/usr/local/java/jdk/
JRE_HOME=/usr/local/java/jdk/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

并没发现有什么问题。
然后参考了ElasticSearch Kibana X-pack安装这篇博客,发现应该是我之前创建用户时用的是useradd命令,而且没有指定主目录以及设置密码,导致smarthome用户没有/home/smarthome和/home/smarthome/elasticsearch这两个目录的权限,所以需要授权给smarthome用户:

chown -R smarthome:smarthome /home/smarthome/elasticsearch/
chmod 777 /home/smarthome/elasticsearch
chown -R smarthome:smarthome /home/smarthome
chmod 777 /home/smarthome

在这里插入图片描述
然后再次尝试启动elasticsearch:

./bin/elasticsearch

终于出现了熟悉的错误:
在这里插入图片描述
这两个错误在我之前写的一篇文章:CentOS 7安装Elasticsearch并设置开机启动也出现过。
1)max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536],文件权限不足,修改/etc/security/limits.conf:

sudo vim /etc/security/limits.conf

添加以下内容:

* soft nofile 65536 # 修改之前是65535
* hard nofile 131072 # 修改之前是65535
* soft nproc 4096
* hard nproc 4096

2)错误2:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144],虚拟内存分配不足,需要修改/etc/sysctl.conf:

sudo vim /etc/sysctl.conf

添加以下内容:

vm.max_map_count=655360

执行sysctl -p命令:

sudo sysctl -p

在这里插入图片描述
再次尝试启动elasticsearch:

./bin/elasticsearch

在这里插入图片描述
启动成功!
访问http://121.36.60.68:9200
在这里插入图片描述
总结:之前在虚拟机装的时候并没有遇到这么多问题,只能说:我太菜了。写得很乱,而且有的地方理解得可能不对,诚心欢迎诸位批评纠正!

参考链接:
https://blog.csdn.net/younger_china/article/details/23349249
https://blog.csdn.net/u010081710/article/details/53884519
https://blog.csdn.net/jiankunking/article/details/84374354

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
引用\[1\]和\[2\]是相同的错误信息,都是java.nio.file.NoSuchFileException: /usr/share/elasticsearch/config/jvm.options。这个错误通常是由于指定的文件路径不正确或文件不存在导致的。引用\[3\]提供了一个可能的原因,即Paths.get(path)中的path路径不正确。在这种情况下,你需要确保指定的文件路径是正确的,并且文件确实存在于指定的路径中。请检查你的代码中的路径是否正确,并确保文件存在于指定的路径中。如果问题仍然存在,请提供更多的代码和错误信息,以便我们能够更好地帮助你解决问题。 #### 引用[.reference_title] - *1* *2* [docker elasticsearch Exception in thread "main" java.nio.file.NoSuchFileException: /usr/share/elasti](https://blog.csdn.net/knockheart/article/details/104647131)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Exception in threadmainjava.nio.file.NoSuchFileException: 123.txt](https://blog.csdn.net/Daisn/article/details/117561697)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦里逆天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值