ElasticSearch 是一个分布式的RESTful开源全文搜索和分析引擎,使用 Java 开发并使用 Lucene 作为其核心来实现所有索引和搜索的功能, 2010 年首次发布。快速,近实时地存储,搜索和分析大量数据。它通常用作底层引擎、技术,为具有复杂搜索功能和要求的应用程序提供支持。
Lucene介绍
Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎,但是 Lucene *** 作复杂,一般不直接利用 Lucene 作为搜索引擎,ElasticSearch 就是利用 Java 简化了 Lucene 的使用。
https://www.elastic.co/cn/
Elastic Stack介绍通常 Elastic Stack 称为 ELK Stack(代指 Elasticsearch、Logstash 和 Kibana),目前 Elastic Stack 包括一系列丰富的轻量型数据采集代理,这些代理统称为 Beats,可用来向 Elasticsearch 发送数据。
访问地址:
https://www.elastic.co/cn/what-is/elk-stack
Logstash 的用途是什么?
Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。
Kibana 的用途是什么?
Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种 *** 作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。
Beats 轻量型数据采集器
Beats 是一个免费且开放的平台,集合了多种单一用途数据采集器。它们从成百上千或成千上万台机器和系统向 Logstash 或 Elasticsearch 发送数据。
Auditbeat 审计数据
Metricbeat 指标数据
Filebeat 日志文件
Packetbeat 网络指标数据
Heartbeat 运行时间监控
Widows beat windows 事件日志
图解:
elasticsearch与solr两款产品对比
1)Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能;
2)Solr 支持更多格式的数据,HTML、PDF、微软 Office 系列软件格式以及 JSON、XML、CSV 等纯文本格式。而 Elasticsearch 仅支持json文件格式;
3)Solr 在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用时效率明显低于 Elasticsearch。
4)Solr 是传统搜索应用的有力解决方案,但 Elasticsearch 更适用于新兴的实时搜索应用。
5)Solr 查询io阻塞
elasticsear应用场景
全文检索: 淘宝 京东… 海量数据搜索,例如:搜索华为手机
记录和日志分析: 结合Logstash,ElasticSearch 和Kibana 三个组件,可以搭建一套高效的日志收集和分析系统,也就是我们常见的ELK系统。
数据可视化: Kibana 是一款功能强大且易于使用的可视化工具,可以结合 ES 对大量数据提供图表选项、地理数据等可视化组件。
Elasticsearch安装elastic java 版本支持
https://www.elastic.co/cn/support/matrix#matrix_jvm
1、安装java环境,一般是1.8版本
# 查看java的yum包版本
yum list installed grep java*
# 安装java环境
yum install -y java
# 查看安装版本
java -version
2、下载并安装Elasticsearch
选择下载指定版本
该版本已经经过编译,可以在解压后直接使用
# 解压并移动文件
tar xzf elasticsearch-7.12.0-linux-x86_64.tar.gz -C /usr/local/
#root用户是无法启动程序,因此需要创建一个普通用户启动
#创建es用户组
groupadd es
# 为es用户组添加es用户
useradd -g es es
#为es用户设置密码
passwd es
#将elasticsearch-7.12.0目录所有权限切换成es用户的
chown -R es.es /usr/local/elasticsearch-7.12.0/
#切换登录用户为es
su es
# es用户启动并运行程序
/usr/local/elasticsearch-7.12.0/bin/elasticsearch
# 查看程序端口9200启动情况
netstat -tunlp
# 访问服务
curl 127.0.0.1:9200
修改elastic配置文件使得对外能够访问
# 修改配置文件使得对外能够通过ip地址访问
vi /usr/local/elasticsearch-7.12.0/config/elasticsearch.yml
network.host: 0.0.0.0
cluster.initial_master_nodes: ["node-1"]
# 修改文件描述符
vi /etc/security/limits.conf
# 最后一行新增以下设置
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
# 修改虚拟内存
vi /etc/sysctl.conf
vm.max_map_count=262144
# 执行重新加载内存命令
sysctl -p
# es用户启动并运行程序
/usr/local/elasticsearch-7.12.0/bin/elasticsearch
访问站点:
http://192.168.1.128:9200/
3、kibana安装
下载版本与Elasticsearch对应
# 解压并移动文件,和elasticsearch一样不需要再次编译
tar xzf kibana-7.12.0-linux-x86_64.tar.gz -C /usr/local/
# 修改配置文件
vi /usr/local/kibana-7.12.0-linux-x86_64/config/kibana.yml
#将配置文件内容改为指定elasticsearch的服务ip地址
elasticsearch.hosts: ["http://192.168.1.128:9200"]
server.host: "0.0.0.0"
# 启动服务
/usr/local/kibana-7.12.0-linux-x86_64/bin/kibana --allow-root
访问站点:
http://192.168.1.128:5601
4、elasticsearch-head安装(不怎么适配浏览器,不好用)
elasticsearch-head 是用于监控 Elasticsearch 状态的客户端插件,包括数据可视化、执行增删改查 *** 作等。
插件下载地址:
http://extb.cqttech.com/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)