ElasticSearch概念
简称ES,是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力,目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变的简单
ES是与名为Logstash的数据收集和日志解析引擎以及名为Kibana的分析和可视化平台一起开发的。这三个产品被设计成一个集成解决方案,称为“Elastic Stack”(以前称为“ELK stack”)
全文搜索
计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。全文搜索搜索引擎数据库中的数据。
优点
- 支持分布式,高可用
- 底层就是Lucene, 隐藏了Lucene的复杂性
- API更简单,更高级
- 支持PB级别的数据
- 完成了搜索的功能和分析功能
安装ES
Windows安装
- 下载目录 https://www.elastic.co/cn/downloads/elasticsearch, 下载速度非常慢,大家可以从我的网盘上 直接下载
- 下载完解压即可使用
- 目录介绍
bin 启动文件目录
config 配置文件目录
1og4j2 日志配置文件
jvm.options java 虚拟机相关的配置(默认启动占1g内存,内容不够需要自己调整)
elasticsearch.ym1 elasticsearch 的配置文件! 默认9200端口!跨域!
1ib
相关jar包
modules 功能模块目录
plugins 插件目录
ik分词器
-
启动
-
测试访问 http://localhost:9200/
Linux安装
-
同windows下载地址一样,大家也可以从我的网盘上 直接下载,下载完上传到Linux服务器直接解压
-
ES的默认端口是9200,提前在服务器端安全组端开放
-
vim编辑conf/elasticsearch.yml文件
# 取消注释,默认只能本地访问,修改为0.0.0.0,外网也能访问 network.host: 0.0.0.0
-
创建专用用户启动ES
-
root用户不能直接启动ES,会报如下错误
-
进入bin目录
cd /www/server/elasticsearch/elasticsearch-7.15.2/bin
-
创建用户useres
useradd useres
-
授权到es目录
chown useres:useres -R elasticsearch-7.15.2
-
切换到useres用户
su useres
-
启动ES
./elasticsearch
-
测试访问 http://服务器ip地址:9200/
-
启动报错问题
报错1:
-
ES用户拥有的内存权限太小,至少需要262144
-
切换到root用户
su root
-
vim 修改/etc/sysctl.conf文件
#添加如下内容 vm.max_map_count=262144 #保存退出后,刷新配置文件 sysctl -p
-
切换useres用户后,再次启动ES
报错2:
-
vim编辑conf/elasticsearch.yml文件, 取消注释,删掉, “node-2”
-
再次启动ES