博客信息

Elasticsearch简介及环境搭建

发布时间:『 2019-10-11 20:43』  博客类别:索引框架  阅读(746)

简介

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP来索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并扩展到数百台,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。因此我们利用Elasticsearch来解决所有这些问题以及可能出现的更多其它问题。


环境搭建


高版本的elasticsearch需要更高版本的jdk支持,这里我们采用jdk8、elasticsearch-5.5.2进行学习;

1、必须要有jre支持

elasticsearch是用Java实现的,跑elasticsearch必须要有jre支持,所以必须先安装jre

可以参考http://47.100.191.44/blog/articles/18

 

2、下载elasticsearch

进入官方下载 https://www.elastic.co/downloads/elasticsearch

因为是centos中运行 所以我们选 tar.gz压缩包;

下载后 ftp上传到centos里 我们把这个文件上传到 /javaxl/下

 

3、安装和配置elasticsearch

解压tar.zip:

cd /javaxl/

tar -zxvf elasticsearch-5.5.2.tar.gz

将解压后的文件夹放入es中:

mkdir es

mv elasticsearch-5.5.2 es

启动es服务:

sh es/elasticsearch-5.5.2/bin/elasticsearch

小李飞刀_elasticsearch


意思是不能用root用户来启动

useradd elastic 新建elastic用户

chown -R elastic:elastic es/elasticsearch-5.5.2/ 把目录权限赋予给elastic

 

切换成elastic用户,然后执行

su elastic

sh es/elasticsearch-5.5.2/bin/elasticsearch

 

小李飞刀_elasticsearch

 

出来一大串info 说明成功了,但是这种方式是前台运行,不方便我们操作其他的 我们加下 -d 后台运行

ctrl+c退出执行;

sh es/elasticsearch-5.5.2/bin/elasticsearch -d (相当于设置守护进程)

ps -ef | grep elasticsearch (查看elasticsearch进程

小李飞刀_elasticsearch


通过下面命令测试elasticsearch服务是否正常启动

curl http://localhost:9200

小李飞刀_elasticsearch

 

1、允许外网连接配置

Su root

vi es/elasticsearch-5.5.2/config/elasticsearch.yml

修改下列配置

 network.host 和 http.port 前面的 备注去掉 然后Host改成你的局域网IP即可

 

然后我们把防火墙也关了 

systemctl stop firewalld.service

systemctl disable firewalld.service   禁止防火墙开机启动

小李飞刀_elasticsearch

按照上面步骤配置完后,再次启动elasticsearch服务,会发现出现以下错误

小李飞刀_elasticsearch

ERROR: [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]

[2019-10-11T19:59:24,374][INFO ][o.e.n.Node               ] [nYC3OZp] stopping ...

[2019-10-11T19:59:24,415][INFO ][o.e.n.Node               ] [nYC3OZp] stopped

[2019-10-11T19:59:24,415][INFO ][o.e.n.Node               ] [nYC3OZp] closing ...

[2019-10-11T19:59:24,449][INFO ][o.e.n.Node               ] [nYC3OZp] closed

 

解决方案如下

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

修改/etc/security/limits.conf文件,添加或修改如下行: (请切换到root用户 然后强制修改文件)

执行命令:vi /etc/security/limits.conf

小李飞刀_elasticsearch

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

修改 /etc/sysctl.conf 文件,添加 “vm.max_map_count”设置 永久改变(sudo sysctl -p /etc/sysctl.conf生效)。

/sbin/sysctl -p 执行下 让/etc/sysctl.conf 立即生效

设置后,可以使用

 

添加这个配置:vm.max_map_count=2621441

执行命令:vi /etc/sysctl.conf

sudo sysctl -p /etc/sysctl.conf


小李飞刀_elasticsearch

通过上面方法解决掉错误后再重启elasticsearch服务

sh es/elasticsearch-5.5.2/bin/elasticsearch

启动无错误后,在改用

sh es/elasticsearch-5.5.2/bin/elasticsearch -d

 

然后浏览器输入http://192.168.195.128:9200/

外网访问成功

小李飞刀_elasticsearch


over......


关键字:     elasticsearch       环境搭建       索引框架  

备案号:湘ICP备19000029号

Copyright © 2018-2019 javaxl晓码阁 版权所有