elasticsearch不能以root运行的问题

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介:

当我们在使用elasticsearch的时候,如果是以root权限来执行elasticsearch

./elasticsearch
  • 1

则会有以下报错

Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
    at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:94)
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:160)
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286)
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Refer to the log for complete error details.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

这是出于系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑, 
建议创建一个单独的用户用来运行ElasticSearch

创建elsearch用户组及elsearch用户

groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
  • 1
  • 2

更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch

chown -R elsearch:elsearch  elasticsearch
  • 1

elasticsearch为你elasticsearch的目录名称

切换到elsearch用户再启动

su elsearch #切换账户
cd elasticsearch/bin #进入你的elasticsearch目录下的bin目录
./elasticsearch
  • 1
  • 2
  • 3

启动后会打印正常启动日志信息如下

[elsearch@localhost elasticsearch-2.4.0]$ ./bin/elasticsearch 
[2016-11-30 09:00:07,658][INFO ][node                     ] [Black Bolt] version[2.4.0], pid[25504], build[ce9f0c7/2016-08-29T09:14:17Z]
[2016-11-30 09:00:07,674][INFO ][node                     ] [Black Bolt] initializing ...
[2016-11-30 09:00:08,248][INFO ][plugins                  ] [Black Bolt] modules [lang-groovy, reindex, lang-expression], plugins [elasticsearch-analysis-ik, head], sites [head]
[2016-11-30 09:00:08,267][INFO ][env                      ] [Black Bolt] using [1] data paths, mounts [[/home (/dev/mapper/centos-home)]], net usable_space [172.1gb], net total_space [172.9gb], spins? [possibly], types [xfs]
[2016-11-30 09:00:08,267][INFO ][env                      ] [Black Bolt] heap size [990.7mb], compressed ordinary object pointers [true]
[2016-11-30 09:00:08,268][WARN ][env                      ] [Black Bolt] max file descriptors [4096] for elasticsearch process likely too low, consider increasing to at least [65536]
[2016-11-30 09:00:09,561][INFO ][ik-analyzer              ] [Dict Loading] ik/custom/mydict.dic
[2016-11-30 09:00:09,579][INFO ][ik-analyzer              ] [Dict Loading] ik/custom/single_word_low_freq.dic
[2016-11-30 09:00:09,589][INFO ][ik-analyzer              ] [Dict Loading] ik/custom/ext_stopword.dic
[2016-11-30 09:00:09,935][INFO ][node                     ] [Black Bolt] initialized
[2016-11-30 09:00:09,935][INFO ][node                     ] [Black Bolt] starting ...
[2016-11-30 09:00:09,975][INFO ][transport                ] [Black Bolt] publish_address {172.17.0.1:9300}, bound_addresses {[::]:9300}
[2016-11-30 09:00:09,979][INFO ][discovery                ] [Black Bolt] elasticsearch/YGWbxIWSRyejtiM4WqHwAA
[2016-11-30 09:00:13,003][INFO ][cluster.service          ] [Black Bolt] new_master {Black Bolt}{YGWbxIWSRyejtiM4WqHwAA}{172.17.0.1}{172.17.0.1:9300}, reason: zen-disco-join(elected_as_master, [0] joins received)
[2016-11-30 09:00:13,010][INFO ][http                     ] [Black Bolt] publish_address {172.17.0.1:9200}, bound_addresses {[::]:9200}
[2016-11-30 09:00:13,010][INFO ][node                     ] [Black Bolt] started
[2016-11-30 09:00:13,323][INFO ][gateway                  ] [Black Bolt] recovered [1] indices into cluster_state
[2016-11-30 09:00:15,576][INFO ][cluster.routing.allocation] [Black Bolt] Cluster health status changed from [RED] to [YELLOW] (reason: [shards started [[sports][2]] ...]).
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

之后如果再启动的话(如果是以root权限登录服务器),只需要执行切换账户,然后运行elasticsearch就可以了

su elsearch #切换账户
cd elasticsearch/bin #进入你的elasticsearch目录下的bin目录
./elasticsearch
  • 1
  • 2
  • 3

ElasticSearch后台启动命令

./elasticsearch -d
  • 1

查看后台命令是否启动成功

ps aux|grep elasticsearch
  • 1

结果

elsearch  3119  4.6  3.2 3535488 250876 pts/1  Sl   16:50   0:09 /opt/java/jdk1.7.0_75/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -Dfile.encoding=UTF-8 -Djna.nosys=true -Des.path.home=/home/py-project/elasticsearc-2.4.0 -cp /home/py-project/elasticsearch-2.4.0/lib/elasticsearch-2.4.0.jar:/home/py-project/elasticsearch-2.4.0/lib/* org.elasticsearch.bootstrap.Elasticsearch start -d
elsearch  3254  0.0  0.0 110224   916 pts/1    S+   16:54   0:00 grep --color=auto elasticsearch
相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
3天前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
15 4
|
3天前
|
SQL 分布式计算 大数据
大数据-168 Elasticsearch 单机云服务器部署运行 详细流程
大数据-168 Elasticsearch 单机云服务器部署运行 详细流程
12 2
|
5月前
Elasticsearch【问题记录 02】【不能以root运行es + max virtual memory areas vm.max_map_count [65530] is too low处理】
【4月更文挑战第12天】Elasticsearch【问题记录 02】【不能以root运行es + max virtual memory areas vm.max_map_count [65530] is too low处理】
51 3
|
4月前
|
Docker 容器
docker 运行 elasticsearch + kibana + head 集群
docker 运行 elasticsearch + kibana + head 集群
|
5月前
Elasticsearch【问题记录 02】can not run elasticsearch as root + vm.max_map_count [65530] is too low 问题解决
Elasticsearch【问题记录 02】can not run elasticsearch as root + vm.max_map_count [65530] is too low 问题解决
43 0
|
5月前
|
自然语言处理 Java 关系型数据库
Elasticsearch【环境搭建 01】elasticsearch-6.4.3 单机版不能以root用户运行es 及 max_map_count 问题解决(含 安装包+分词插件 云盘资源)
Elasticsearch【环境搭建 01】elasticsearch-6.4.3 单机版不能以root用户运行es 及 max_map_count 问题解决(含 安装包+分词插件 云盘资源)
49 0
|
运维 安全 Java
Elasticsearch生产集群部署之各个节点以daemon模式运行以及优雅关闭
Elasticsearch生产集群部署之各个节点以daemon模式运行以及优雅关闭
|
Java iOS开发 MacOS
MacOS安装、运行ElasticSearch
MacOS安装、运行ElasticSearch
545 0
|
Java
白话Elasticsearch71-ES生产集群部署之各个节点以daemon模式运行以及优雅关闭
白话Elasticsearch71-ES生产集群部署之各个节点以daemon模式运行以及优雅关闭
105 0
|
监控 安全 数据安全/隐私保护
《Elastic(中国)基础开发宝典》——集群安全配置功能大升级,单机模拟运行 Elasticsearch 8.1.2 三节点集群
《Elastic(中国)基础开发宝典》——集群安全配置功能大升级,单机模拟运行 Elasticsearch 8.1.2 三节点集群