ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
环境:
1. centos6.5
2. jdk1.8
3. elasticsearch6.3.2
使用命令**./bin/elasticsearch**启动elasticsearch(es)时,遇到各种问题,方便之后复习,记录在此。
参考文章,修改 Elastic 安装目录的config/elasticsearch.yml文件,去掉network.host的注释,将它的值改成0.0.0.0。重启后,出现以下问题:
ParsingException[Failed to parse object: expecting token of type [START_OBJECT] but found [VALUE_STRING]];
这个错就是参数的冒号前后没有加空格,加了之后就好:network.host: 0.0.0.0
can not run elasticsearch as root
因为我一直使用的root用户,最新的版本安全级别提高了,不允许采用root帐号启动,所以添加一个用户。
#添加一个用户:elasticsearch
$useradd elasticsearch
#给用户elasticsearch设置密码,连续输入2次
$passwd elasticsearch
#创建一个用户组 es
groupadd es
#分配 elasticsearch 到 es 组
usermod -G elasticsearch es
#这里注意下,如果提示用户“es”不存在,那么是因为服务器版本问题,你可以换成 usermod -G es elasticsearch ,也就是用户和用户组对调一下使用。
#这里感谢【武汉|Java|竹木鸟】发现这个问题,并告知我。
#在elasticsearch 根目录下,给定用户权限。-R表示逐级(N层目录) , * 表示 任何文件
chown -R elasticsearch.es *
#切换到elasticsearch用户
su elasticsearch
创建了elasticsearch用户后,再次启动,晕,又报错了: Unable to access ‘path.data’ (/soft/elasticsearch/data),果断ls -lrt,原来是没有data文件夹。那就mkdir 呗,当然还得按照问题2中所说,赋予elasticsearch用户权限。
接下来还是遇到了各种问题,不过通过这篇文章基本解决,谢谢博主。有不当之处,新手勿喷,共同学习。