Linux下安装Elasticsearch,帮你踩坑

2021-05-11 15:09:53 浏览数 (1)

Elasticsearch,这个家伙我就不用过多介绍了吧,简称ES,这可不是js里面的es语法也不是阿里云里面的es云服务器,Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。

干什么用的呢?

(1)比如我们开发了一个电商平台,我们商品过多,用户搜索起来很慢,ES就派上用场了,他能大大提升你的搜索效率,摆脱Mysql的瓶颈(like)

(2)日志分析,比如你想统计你网站的一些用户行为日志,那么他可以帮你从海量数据里面返回你想要的数据

下面我将介绍Linux是怎么安装的,windows下的可以自行想办法,相较linux的安装windows就比较简单了

1、es(7.x)是依赖java的jdk的,所以我们需要下载java的jdk然后并且安装

(1)下载jdk一般都是tar(es里面也自带了java的jdk可以直接拿来使用,或者自行下载安装)

解压tar -zxvf jdk.tar

(2)vim /etc/profile.d/java.sh

(3)将一下内容粘贴到java.sh文件里面

export JAVA_HOME=jdk的地址 export PATH=PATH:JAVA_HOME/bin

(4)重启source /etc/profile

(5)设置java的环境变量(系统级别)

一定要注意的是要使用ES_JAVA_HOME,不然话会报一个waring的错误

2、在es的安装目录下面创建一个data数据目录已经logs目录

解压,然后给权限,不能使用root启动

命令:chown -R xx 目录

3、直接在安装服务器访问,将会看到如下的json,说明已经安装成功了

4、看到以下信息基本就可以了

5、设置外网访问

安装的步骤基本就已经讲完了,下面是我帮大家踩的坑,小伙伴们要注意了

错误总结

1)安装es报错java版本过低

解决方案,安装大于11版本的,由于es7.x版本需要高版本jdk,大家自行安装就行了,或者使用es里面自带的jdk也是可以的

2)报错找不到java

把默认的修改

3)提示内存不足的时候我们配置

es/config/jvm.options,设置成为你想要的虚拟内存大小

4)ps -ef | grep elasticsearch

然后kill -9 杀死进程

5)通过ip访问设置

(1)问题1 [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]的解决方式:

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

* hard nofile 65536

* soft nofile 65536

(2)问题2 [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]的解决方式:

第二种方式:

#切换到root用户,

su root

#编辑 /etc/sysctl.conf

vi /etc/sysctl.conf

#添加如下参数

vm.max_map_count=2621441

执行 sudo sysctl -p /etc/sysctl.conf 命令,设置 永久改变

6)VMware 虚拟机下Centos7无法访问指定端口(针对防火墙问题,测试使用的是虚拟机,依据你测试服务器为准)

关闭防火墙:systemctl stop firewalld.service

0 人点赞