架构师

您现在的位置是:首页 > 技术博客 > 开发环境

开发环境

Java开发环境系列:全文搜索引擎elasticsearch的安装(windows、linux)

架构师小跟班 2019-07-29 开发环境
ElasticSearch是一个基于Lucene的,提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。

WINDOWS系统安装

1、安装JDK

Elastic Search要求使用较高版本JDK,本文使用D:\DevTools\jdk1.8.0_131,并配置环境变量

2、安装Elastic Search

官网:https://www.elastic.co/cn/

下载地址:

https://www.elastic.co/downloads/elasticsearch

本次使用版本:elasticsearch-2.4.6 2.x版本使用1.8以下JDK会报错,命令窗口闪退,解压即可。

3、使用

双击安装目录D:\DevTools\elasticsearch-2.4.6\bin下elasticsearch.bat 文件

4、测试

页面访问:

http://localhost:9200/ 或 http://127.0.0.1:9200/

LINUX系统安装

1、下载安装包

elasticsearch-2.2.0.tar.gz

上传至Linux系统,解压 tar -xzvf elasticsearch-2.2.0.tar.gz

2、直接启动会报错

因为版本的问题,最新的版本安全级别提高了,不允许采用root帐号启动,所以我们要添加一个用户。因为elasticsearch有远程执行脚本的功能所以容易中木马病毒,所以不允许用root用户启动,root用户是起不来的,赋权限,用一般的用户启动。

---------------------------------------

#添加一个用户:elasticsearch

$useradd elasticsearch

#给用户elasticsearch设置密码,连续输入2次

$passwd elasticsearch

#创建一个用户组 es

groupadd es

#分配 elasticsearch 到 es 组

usermod -G elasticsearch es

#这里注意下,如果提示用户“es”不存在,那么是因为服务器版本问题,你可以换成 usermod -G es elasticsearch ,也就是用户和用户组对调一下使用。

#在elasticsearch 根目录下,给定用户权限。-R表示逐级(N层目录) , * 表示 任何文件

chown -R elasticsearch.es *

#切换到elasticsearch用户

su elasticsearch

-----------------------------------

如果不按上面的给用户elasticsearch分配权限目录。那么会报下面的错:

java.io.FileNotFoundException:/home/es/elasticsearch-2.2.0/logs/elasticsearch.log(Permission denied)

常见异常问题

报错信息:
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)

原因:
elasticsearch5.5默认分配jvm空间大小为2g,太大了。

解决办法:
修改jvm空间分配:
vi /home/es/elasticsearch-5.5.2/config/jvm.options

默认配置
-Xms2g
-Xmx2g
改成
-Xms512m
-Xmx512m


报错信息:
org.elasticsearch.transport.BindTransportException: Failed to bind to [9300-9400]
解决办法:
打开配置文件elasticsearch.yml 将 network.host: 192.168.0.1 修改为本机IP

 

文章评论