前言
Elasticsearch 是一个分布式的开源搜索和分析引擎,在 Apache Lucene 的基础上开发而成。
Lucene 是开源的搜索引擎工具包,Elasticsearch 充分利用Lucene,并对其进行了扩展,使存储、索引、搜索都变得更快、更容易, 而最重要的是, 正如名字中的“ elastic ”所示, 一切都是灵活、有弹性的。而且,应用代码也不是必须用Java 书写才可以和Elasticsearc兼容,完全可以通过JSON 格式的HTTP 请求来进行索引、搜索和管理Elasticsearch 集群。
一、Elasticsearch?
1.是什么?
- 一个分布式的实时文档存储,每个字段 可以被索引与搜索。
- 一个分布式实时分析搜索引擎。
- 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据。
- Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。
2.使用场景
- 百度,google搜索结果,高亮展示。
- GitHub(开源代码管理),搜索上千亿行代码。
- 电商网站,检索商品。
- 日志数据分析,ES进行复杂的数据分析(ELK技术,elasticsearch+logstash+kibana)
- 数据分析,分析一下某某区域最近3年的用户消费金额的趋势以及用户群体的组成构成,产出相关的数张报表。
二、安装环境
Elasticsearch 6.5.2、JDK1.8、CentOS8.5×64
三、搭建Elasticsearch 6.5.2
1.下载Elasticsearch 6.5.2
https://www.elastic.co/cn/downloads/
2.Linux服务器创建es文件夹
mkdir es
#在es下创建elasticsearch、data、logs文件夹
mkdir elasticsearch
mkdir data
mkdir logs
如图
3.将elasticsearch-6.5.2.tar.gz上传至elasticsearch文件夹下并解压
4.进入cd elasticsearch-6.5.2/config/目录下配置elasticsearch.yml
vi elasticsearch.yml
node.name: node-1 #配置当前es节点名称(默认是被注释的,并且默认有一个节点名)
cluster.name: my-application #默认是被注释的,并且默认有一个集群名
path.data: /home/es/data #数据目录位置
path.logs: /home/es/logs #日志目录位置
network.host: 0.0.0.0 #绑定的ip:默认只允许本机访问,修改为0.0.0.0后则可以远程访问
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
5.修改jvm.options配置文件
vi jvm.options
修改默认配置:-Xms1g -Xmx1g为 -Xms512m -Xmx512m>
6.修改/etc/security/limits.conf文件 增加配置
vi /etc/security/limits.conf
在文件最后,增加如下配置:
esuser soft nofile 65536
esuser hard nofile 65536
7.修改vi /etc/sysctl.conf文件最后添加一行 vm.max_map_count=655360 添加完毕之后,执行命令: sysctl -p
8.新建用户esuser 并授予esuser用户es目录下的操作权限
9.保存配置并启动Elasticsearch
cd bin/
./elasticsearch
6.验证Elasticsearch
总结
以上就是今天要讲的内容,本文仅仅简单介绍了Elasticsearch 的搭建。后续整合Spring-Boot集成Elasticsearch 及 ES 对 Mysql 索引。