ElasticSeach 安装启动时遇到的两个问题记录

本文记录了在安装启动Elasticsearch时遇到的两个问题:一是由于默认不允许root用户启动导致的异常,二是文件描述符数量不足的问题。解决方法包括修改Elasticsearch配置以允许root用户启动,以及调整系统参数以增加最大文件描述符和虚拟内存区域。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误日志:

java.lang.RuntimeException: can not run elasticsearch as root
	at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) [elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) [elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) [elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) [elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) [elasticsearch-cli-6.5.4.jar:6.5.4]
	at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-cli-6.5.4.jar:6.5.4]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) [elasticsearch-6.5.4.jar:6.5.4]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) [elasticsearch-6.5.4.jar:6.5.4]

原因: elaticsearch默认不能用root用户启动,所以会报java.lang.RuntimeException: can not run elasticsearch as root异常。

解决方案:

  1. 修改elasticsearch 配置,使其可以允许root 用户启动
#在执行elasticSearch时加上参数-Des.insecure.allow.root=true,完整命令如下

./elasticsearch -Des.insecure.allow.root=true

#或者修改elasicsearch执行脚本,在变量ES_JAVA_OPTS使用前添加以下命令

ES_JAVA_OPTS="-Des.insecure.allow.root=true"
  1. 建立新用户,赋予指定权限
useradd esuser
passwd esuser

chown -R esuser:esuser es安装目录/

chmod 770 es安装目录/

错误日志:

[2019-01-25T14:06:57,321][ERROR][o.e.b.Bootstrap          ] [8Ewv7G9] node validation exception
[2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方案:

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

此条日志显示进程最大同时可打开文件数太小,需设置至少65536。

## 修改/etc/security/limits.conf 文件
vi /etc/security/limits.conf

## 增加如下内容
*               soft    nofile          65536
*               hard    nofile          65536

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

## 修改sysctl.conf 文件
vi /etc/sysctl.conf

## 增加如下内容
m.max_map_count=262144

## 使更改生效
sysctl -p
Elasticsearch是一个开源的分布式搜索和分析引擎,可以用于实时将物流快递单等业务数据增量同步至Elasticsearch索引中。它被广泛应用于各种场景,包括日志分析、全文搜索、数据可视化等。根据引用中的信息,李猛是一位对Elasticsearch有深入体验的工程师,他对Elastic-Stack的开发、架构、运维等方面有丰富的经验,并且提供咨询、培训和调优实施等服务。 如果您想使用Elasticsearch,您需要启动Elasticsearch服务器和Kibana。启动Elasticsearch服务器可以使用版本2.1或更高版本。同时,您还可以使用Kibana来进行数据可视化和仪表板的创建。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [一文快速了解Elastic Search 开源搜索引擎(技术选型+启动命令)](https://blog.csdn.net/xianyu120/article/details/117518586)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [ES既是搜索引擎又是数据库?真的有那么全能吗?](https://blog.csdn.net/w397090770/article/details/108934868)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值