一、elasticsearch实战
1. elasticsearch简介
Elasticsearch 是一个开源的分布式搜索分析引擎,建立在一个全文搜索引擎库 Apache Lucene基础之上。
Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎:
- 一个分布式的实时文档存储,每个字段 可以被索引与搜索
- 一个分布式实时分析搜索引擎
- 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据
基础模块 :
- cluster:管理集群状态,维护集群层面的配置信息。
- alloction:封装了分片分配相关的功能和策略。
- discovery:发现集群中的节点,以及选举主节点。
- gateway:对收到master广播下来的集群状态数据的持久化存储。
- indices:管理全局级的索引设置。
- http:允许通过JSON over HTTP的方式访问ES的API。
- transport:用于集群内节点之间的内部通信。
- engine:封装了对Lucene的操作及translog的调用。
elasticsearch应用场景 :
- 信息检索
- 日志分析
- 业务数据分析
- 数据库加速
- 运维指标监控
官网:elastic
2.elasticsearch安装与配置
软件下载:
https://elasticsearch.cn/download/
推荐(国内镜像,下载速度快): https://mirrors.tuna.tsinghua.edu.cn/elasticstack/yum/elastic-7.x/7.7.1/
安装软件:
rpm -ivh jdk-8u171-linux-x64.rpm
rpm -ivh elasticsearch-7.6.1.rpm //7.6版本以上自带jdk
设置服务自启:
systemctl daemon-reload
systemctl enable elasticsearch
修改配置文件:
修改系统限制:
vim /etc/security/limits.conf
vim /etc/elasticsearch/jvm.options
这里不要超过虚拟机内存大小的一半 ,虚拟机内存2g以上
vim /usr/lib/systemd/system/elasticsearch.service ##在service模块添加
启动
systemctl daemon-reload
systemctl start elasticsearch
测试访问:
3. elasticsearch插件安装
下载elasticsearch-head插件(github有很多)
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
unzip elasticsearch-head-master.zip
head插件本质上是一个nodejs的工程,因此需要安装node:
wget \
https://mirrors.tuna.tsinghua.edu.cn/nodesource/rpm_9.x/el/7/x86_64/nodejs-9.11.2-1nodesource.x86_64.rpm ##下载
rpm -ivh nodejs-9.11.2-1nodesource.x86_64.rpm
node -v
npm -v ##查看版本,确定安装成功
更换npm源安装:
cd elasticsearch-head-master/
npm install --registry=https://registry.npm.taobao.org
需要下载phantomjs,下载很慢
我们自己在网上下载然后解压
将文件复制到bin目录下
执行npm install
修改ES主机ip和端口:
vim ~/elasticsearch-head/_site/app.js
启动head插件: