Elasticsearch环境搭建与基本使用(1)

Elasticsearch环境搭建与基本使用(1),第1张

什么是Elasticsearch

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

elastic stack 技术栈

Logstash 的用途是什么?

Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。

Kibana 的用途是什么?

Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种 *** 作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。

Beats 轻量型数据采集器

Beats 是一个免费且开放的平台,集合了多种单一用途数据采集器。它们从成百上千或成千上万台机器和系统向 Logstash 或 Elasticsearch 发送数据。

Auditbeat 审计数据
Metricbeat 指标数据
Filebeat 日志文件
Packetbeat 网络指标数据
Heartbeat 运行时间监控
Widows beat windows 事件日志

图解:

使用场景elasticsearch

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/

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/877457.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存