ElasticSearch学习笔记(一)-搜索引擎介绍及ElasticSearch安装(下)

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
云服务器ECS,u1 2核4GB 1个月
简介: ElasticSearch学习笔记(一)-搜索引擎介绍及ElasticSearch安装

2.ElasticSearch安装步骤


2.1-安装环境


  • 首先是安装环境:


Centos7+jdk1.8


2.2-主要配置文件


  • 配置文件:elasticsearch.yml(主要配置ElasticSearch集群信息) jvm.options(jvm内存信息)


2020120511043354.png


2.3-创建文件夹并上传文件并解压


创建文件夹并上传文件并解压


mkdir -p /opt/es


将我们的文件上传到该目录下


20201205110455289.png


这时候这些文件都是没有权限的,我么你需要给这些文件分配权限


20201205110527321.png


解压文件: tar -zxvf elasticsearch-6.3.1.tar.gz


20201205111131328.png


2.4-修改配置文件


修改配置文件


ES使用最大线程数,最大内存数,访问的最大文件数


如果是Centos6的话,上面三个都需要进行配置,否则linux不会允许该环境使用这么大的线程数


但是在Centos7里面就只需要配置访问的最大文件数即可.


20201205111334718.png


主要就是elasticSearch的默认内存太大,可能超过了我们服务的承受范围,我这里默认的是1G


20201205111358865.png


这里我们把他修改成256M


之后再去启动试试:


20201205111449513.png


之后我们可能会遇到这个问题:


20201205111506384.png


原因是在elasticSearch5.0版本以后,很多大公司也已经开始采用ElasticSearch作为他们搜索引擎的技术了,大公司使用之后发现ElasticSearch存在安全漏洞,因为在5版本的ElasticSearch中,ElasticSearch运行都是通过root用户进行的,所以有些黑客就通过这个特性直接获取到root用户的密码以及其他信息,使得信息外泄.


所以在5版本之后,ElasticSearch都开始采用这种方案,即所有的操作不能再是root用户,必须单独创建一个用户来操作elasticSearch.


所以我们如果按照默认的配置文件来启动ElasticSearch的话就还是通过root用户启动,所以我们需要重新创建一位用户并且通过在该用户的状态下启动ElasticSearch.

//创建一个新的用户
adduser es
//切换到es用户下
su es

2020120511152961.png


切换完成之后我们能够发现,前面的用户就已经改变了,并且命令前面的符号也已经发生改变了.不再是#号,而是换成了$符号


之后我们再来重新启动一下elasticSearch试试


20201205111732946.png


之后我们又遇到这个问题,意思是:我们的es用户没有权限访问该文件jvm.options


所以我们需要切换回root用户去修改以下es用户的访问权限


//切换成root用户
su root 
//返回上级目录
cd ..
//进入config
cd config
//将config下的所有文件都给予最大权限
chmod 777 *

这样我们的es用户即可访问jvm.options文件了.


之后我们再去重新启动一下我们的elasticSearch但是我们又会遇到下面的问题


20201205111811929.png


该问题主要是es用户没有权限访问data文件夹(data是es的软件和日志数据目录)


这里为了解决之后所有可能遇到的权限不足的问题,我们决定通过切换到root用户,之后将elasticSearch的根目录下将所有的文件的权限都打开,但是 不建议大家这样做,最好是启动之后哪里报权限不足的时候,我们在依次切换到root用户去将相应的文件的权限打开.


我们切换到root用户之后,使用下面的命令将elasticSearch下的文件通过轮询的方式将权限都打开.

chmod 777 -R elasticsearch-6.3.1 

这样我们就已经将所有文件的权限都已经打开了,这时候我们切换成es用户来进行我们接下来的操作.


之后我们需要去配置我们的默认ip以及端口号,这样外网才能访问我们的elasticSearch


这里我们是在elasticsearch.yml文件里面进行配置:


20201205111838743.png


进去之后我们主要配置这两个参数:


如果不是云服务器的话,你就直接按下面我的提示配置即可


20201205111858467.png


如果你是云服务器的话,那么你就不能这么配置了,如果还是按照上面的配置的话,那么我们启动elasticSearch就会出现下面的错误:


20201205150325463.png


这时候我们需要这样配置:


20201205150410812.png


记住这里不能填云服务器的公网ip地址,否则还是连不上的


并且这样配置完成之后,如果是云服务器,我们还需要在防火墙以及阿里云控制台打开9200以及9300两个端口,否则还是连接不上.


这样我们配置完就不会报上面的错误了,但是我们重新启动之后会报另外的问题:


20201205150433724.png


意思就是elasticSearch鄙视我们当前的系统,说我们当前系统能够打开的最大文件数以及能够使用的最大内存数也都不够,需要升级到他相应的最低要求


既然这样我们就要去修改linux的配置(配合es的启动需求),该操作需要在root用户下进行,否则会提示权限不足:


1.修改linux的limits配置文件,设置内存线程和文件


该文件所在位置: /etc/security/limits.conf


添加下面的代码:

*hard nofile 65536
*soft nofile 131072
*hard nproc 4096
*soft nproc 2048


这些代码需要写在#End of file之前,否则这些代码是不会生效的,如果你是云服务器的话,那么你还需要将#End of file后面的参数也修改以下,否则之后启动还是会报相同的错误


20201205150500382.png


之后我们中心刷新一下该文件,使其生效.

source /etc/security/limits.conf

20201205150520529.png


2.修改linux的sysctl配置文件,配置系统使用内存


文件所在位置: /etc/sysctl.conf


添加下面的代码:

vm.max_map_count=655360
fs.file-max=655360

之后保存退出之后,我们就需要让该配置生效


sysctl -p


20201205150539431.png


这样配置就已经生效了.


之后我们便可以重新用es用户去启动elasticSearch了,可以发现已经启动成功了:


20201205150557460.png


虽然他显示的发布地址是通过我们的内网ip地址,但是我们通过浏览器访问的时候还是直接通过公网ip:9200访问即可.


20201205150610730.png


这样我们的elasticSearch就算是安装并且启动成功了.


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
10天前
|
数据可视化 索引
elasticsearch head、kibana 安装和使用
elasticsearch head、kibana 安装和使用
|
22天前
|
存储 负载均衡 索引
linux7安装elasticsearch-7.4.0集群配置
linux7安装elasticsearch-7.4.0集群配置
109 0
|
2月前
|
存储 监控 搜索推荐
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
|
9天前
|
JSON Unix Linux
Elasticsearch如何安装
Elasticsearch如何安装
|
1月前
|
监控 安全 Java
ElasticSearch在Windows上的下载与安装
ElasticSearch在Windows上的下载与安装
|
2月前
|
开发工具 Docker 容器
docker安装集群版ElasticSearch
docker安装集群版ElasticSearch
|
2月前
|
Java Docker 容器
Docker安装ElasticSearch
Docker如何安装ElasticSearch
|
4月前
ElasticSearch-Head浏览器插件离线安装
ElasticSearch-Head浏览器插件离线安装
91 0
|
5月前
|
存储 人工智能 自然语言处理
ElasticSearch实战指南必知必会:安装分词器、高级查询、打分机制
ElasticSearch实战指南必知必会:安装分词器、高级查询、打分机制
ElasticSearch实战指南必知必会:安装分词器、高级查询、打分机制
|
3月前
|
前端开发 安全 Ubuntu
Elasticsearch安装和配置
Elasticsearch安装和配置
116 0

热门文章

最新文章