Linux搭建Elasticsearch5版本以及常见问题的解决

Linux搭建Elasticsearch5版本以及常见问题的解决

1. 什么是Elasticsearch?

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

2. 为什么要使用Elasticsearch?

个人理解:由于我们在项目中会有遇到这样大数据量的问题,比如我们需要在一张表或者多张表进行查询,而数据量又特别大,比如我们可能遇到这样的需求:要从50w数据中分组又要按照许多where条件进行查询数据,我们知道如果有like查询,又是两边模糊查询的(select * from user where name like ‘%你%’;),这样是会使索引失效,即便是有索引,数据量太大也会严重影响我们的查询速度,如果我们使用搜索引擎的话,就会大大的提高查询的速度,会极快将我们的查询结果响应回来。

3. Elasticsearch安装
3.1 安装环境

首先安装es需要java环境,因此我们来先安装java,很容易,一句命令

yum install java-1.8.0-open*
3.2 下载Elasticsearch

首先我们要Elasticsearch的官网进行下载Elasticsearch
https://www.elastic.co/downloads/past-releases/elasticsearch-5-6-8
在这个下载页面点击我们需要下载的包,由于我们是在linux上安装Elasticsearch,所以我们下载Elasticsearch的tar包;
这里写图片描述

3.3 安装Elasticsearch

首先我们在linux下创建一个目录,专门放置我们准备安装的Elasticsearch;

  • 这里需要注意! 由于我们启动es不能用root,而我们又需要做很多操作,所以我们解压安装这些操作请自行切换到root,以免出现不必要的麻烦!切换用户的命令是 su 用户名
[root@localhost ~]# cd /
[root@localhost /]# mkdir /data/elasticsearch
[root@localhost /]# cd /data/elasticsearch/

将我们下载的tar包放在我们新建的目录下,并解压我们的tar包

[root@localhost elasticsearch]# tar -zxvf elasticsearch-5.6.8.tar.gz

然后我们需要创建一个用户,这里请注意,由于Elasticsearch的自身安全,Elasticsearch是不允许使用root账号来启动的,需要我们创建一个用户,并赋予当前Elasticsearch文件夹的权限;

[root@VM_0_8_centos elasticsearch]# useradd shaochen
[root@VM_0_8_centos elasticsearch]# chown -R shaochen:shaochen /data/elasticsearch/elasticsearch-5.6.8

启动Elasticsearch

[root@localhost elasticsearch]# su shaochen
[shaochen@localhost elasticsearch]$ cd elasticsearch-5.6.8/
[shaochen@localhost elasticsearch-5.6.8]$ cd bin/
[shaochen@localhost bin]$ ./elasticsearch  

当出现下面图片中的代码串,就说明我们启动成功了!
这里写图片描述

  • 我们再开一个窗口来确认是否启动成功!注意:不要把这个窗口关闭!
[root@localhost /]$ curl localhost:9200

当出现了这样的界面,说明我们已经启动成功了
这里写图片描述

3.4 配置Elasticsearch

首先我们要配置elasticsearch可以远程访问

首先我们回到之前启动的es窗口,并停止这个es

[shaochen@localhost bin]$ cd ../config/

这里写图片描述

接下来我们要编辑一下elasticsearch.yml文件

[shaochen@localhost bin]$ vim elasticsearch.yml

这里写图片描述

修改后我们就可以在浏览器上直接访问了,如果访问不了,先检查一下端口开没开放把!
这里写图片描述

3.5 安装ik分词器

为什么要安装ik分词器?

大家都知道,es这东西是一个搜索引擎,还是老外做的东西,这里面有很多分词的机制,但都是对于中文的分词,所以一般我们要使用es或者solr这样的搜索引擎的话,我们都要配置一个分词器插件来进行中文分词,所以我们需要配置一个ik分词器,因为这个分词器,对中文的分词很好!

下载ik分词器

ik分词器的下载地址: https://github.com/medcl/elasticsearch-analysis-ik/releases
我们必须要根据我们es的版本对应下载ik分词器的版本,这里一定要注意!
这里写图片描述

[shaochen@localhost bin]$ cd /data/elasticsearch/elasticsearch-5.6.8/plugins/

将我们下载好的zip包,放到我们刚才进入的目录之中
然后我们要安装一个可以解压zip的命令

[shaochen@localhost bin]$ su root
[root@localhost plugins]# yum install -y unzip
[root@localhost plugins]# unzip elasticsearch-analysis-ik-5.6.8.zip 

这里写图片描述

然后我们把解压的包修改一下名字,修改为ik
然后我们需要删除我们的zip压缩包,然后再重新启动一下

[root@localhost plugins]# rm elasticsearch-analysis-ik-5.6.8.zip 
[root@localhost plugins]# su shaochen
[shaochen@localhost plugins]$ cd ../bin/
[shaochen@localhost plugins]$ ./elasticsearch

这里写图片描述

当出现图中标记的插件后,就说明我们的ik分词器已经安装成功了,然后我们重新启动! 这次我们加一个参数,这样可以让我们在后台启动!就可以做其他操作了!

[shaochen@localhost bin]$ ./elasticsearch -d

好了! 这样我们就安装好了es,我们就可以使用谷歌的插件直接使用es了!
这里写图片描述

3.6 启动报错解决方案

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

vim /etc/security/limits.conf
在最后面追加下面内容
*** hard nofile 65536
*** soft nofile 65536 
***  是启动ES的用户

2.max number of threads [1024] for user [shaochen] is too low, increase to at least [2048]

vim /etc/security/limits.d/90-nproc.conf1024改为2048

3.max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

vim /etc/sysctl.conf
添加如下配置
vm.max_map_count=655360

保存后执行下面命令
sysctl -p

4.system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

修改es目录中的congfig下的elasticsearch.yml文件,添加下面的配置信息
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
3.7 端口如果未开放,请向下看

具体要看你开放哪个端口了!这个可以配置的

开放端口命令: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
保存:/etc/rc.d/init.d/iptables save
重启服务:/etc/init.d/iptables restart
查看端口是否开放:/sbin/iptables -L -n

好了,就写到这里了!希望对大家有帮助把

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值