0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Elasticsearch入门简介

阿铭linux 来源:阿铭linux 2023-02-24 09:44 次阅读

Elasticsearch简介

Elasticsearch(后续简称ES) 是一个实时的分布式存储、搜索、分析的引擎。ES基于java开发,使用Lucene(全文检索引擎工具)作为其核心来实现所有索引和搜索功能,但是它的目的是通过简单的RESTful API来隐藏Lucene,从而使搜索变得简单。

Elasticsearch生态

Elastic公司基于ES,提供了四大解决方案:搜索、日志分析、指标分析、安全分析。

a4cda7ba-b3ce-11ed-bfe3-dac502259ad0.png

其中以下几个事件需要你了解:

Elasticsearch使用场景

将系统日志、应用日志收集起来存储到es里,然后通过es来分析和搜索这些日志,后面我们会将日志采集分析平台ELK,其中就用到了es。

使用Elasticsearch和Kibana灵活的运用数据可视化运维看板,并在看板上展示主机信息,通过具体指标来监测主机状态,从而达到监控的目的。

可通过Elasticsearch分析、检索海量历史日志,高效地完成安全审计工作。可以借助Elasticsearch的数据响应性能,快速感知系统中实时发生的事件,实时检索关键词,及时规避风险。

如果数据量很大(PB级),使用关系型数据库(如MySQL)去搜索关键字就非常慢,甚至说系统会崩溃,而如果使用es来存储数据,并做搜索速度会非常快。这是es的特性。

Elasticsearch相关概念

索引可以理解成是一类文档的集合,它是存放文档的容器。 有人把索引比喻成关系型中的库的概念,但我感觉更像是表的概念。 Mapping定义文档字段的类型。 Setting定义不同的数据分布,比如定义有多少分片、多少副本。

之前的版本中,索引和文档中间有这个Type的概念,每个索引下可以建立多个类型,文档存储时需要指定index和type。从6.0.0开始已经被废弃,7.0开始单个索引中只能有一个类型_doc。

弃用该概念的原因:

我们虽然可以通俗地去理解Index比作 SQL 的 Database,Type比作SQL的Table。但这并不准确,因为如果在SQL中,Table 之前相互独立,同名的字段在两个表中毫无关系。但是在ES中,同一个Index 下不同的 Type 如果有同名的字段,他们会被 Luecence 当作同一个字段 ,并且他们的定义必须相同。所以我觉得Index现在更像一个表,而Type字段并没有多少意义。在7.0开始,一个索引只能建一个Type为_doc,而在8.x版本里已经给隐藏了。

类似于关系型数据库某个表里面具体一行一行的数据记录。文档是所有可搜索数据的最小单元。 比如,将日志记录进Es时,每一条日志就是一个文档。文档会被序列化成JSON格式。JSON对象由字段组成,每个字段都有对应的字段类型(如,字符串、数值、布尔、日期、二进制、范围),以下就是一个文档的元数据:

a4efbb3e-b3ce-11ed-bfe3-dac502259ad0.png

当使用Es集群时,一份完整的数据会分散开存到集群各个节点上,每个节点存一部分,这就是所谓的数据分片。当然,如果使用单机模式,也可以做分片,相当于是将一份数据分割开了存同一台机器上,单节点多分片没有啥意义,当然,如果想后期由单机改为集群,那有必要搞多分片。

分片的存在解决了数据水平扩容,分片让Es可以存储巨量(上PB)的数据。主分片数在创建索引时,就被指定了,一旦创建,无法更改,除非进行Reindex。

这个副本指的是数据分片的副本,为了保证数据高可用,需要设置副本,这个副本可以是多个,当一份数据出现异常,还有副本可以使用。在Es内部,是可以做到自动故障转移的,就是说一旦数据有问题,那么就会让其中一份副本顶上。

Elasticsearch单机部署

1)修改服务器参数

##修改系统参数,调整nofile以及noproc
cat >> /etc/security/limits.conf <> /etc/sysctl.conf
##使内核参数生效
sysctl -p

2)es下载地址

3)通过yum安装es(8.x版本)

导入GPG Key

rpm --import 

设置yum仓库

cat > /etc/yum.repos.d/es.repo <

yum安装es

yum install --enablerepo=elasticsearch elasticsearch

关闭ssl

vi  /etc/elasticsearch/elasticsearch.yml ##修改如下
xpack.security.http.ssl:
  enabled: false

启动服务

systemctlstartelasticsearch

设置为开机自启

systemctl enable elasticsearch

查看端口

netstat -lntp |grep java #两个端口9200  9300,其中9200为RESTful接口访问端口,9300为集群通信端口

重置密码

/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

访问9200端口

curl -u elastic:'上一步生成的密码'  http://127.0.0.1:9200/
4)安装Kibana实现可视化

Kibana早期是为Logstash开发的可视化工具,于2013年被Elastic公司收购。

前面安装Es时,配置的yum仓库里就带有Kibana了,所以可以直接yum安装:
yum install --enablerepo=elasticsearch kibana

在ES重置kibana-system用户密码

/usr/share/elasticsearch/bin/elasticsearch-reset-password -u kibana_system

编辑Kibana配置文件

vi /etc/kibana/kibana.yml #修改如下参数
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.222.101:9200"]
elasticsearch.username: "kibana_system"
elasticsearch.password: "K5L7b7JBgtC_dXmbmI2V"
i18n.locale: "zh-CN"  ##支持中文界面

启动服务

systemctl start kibana
systemctl enable kibana

浏览器访问 http://ip:5601

可以导入样例数据,如下图

a50918f4-b3ce-11ed-bfe3-dac502259ad0.png

a5257e72-b3ce-11ed-bfe3-dac502259ad0.png

另外,可以访问开发工具,来执行常用API操作:

a555a1c4-b3ce-11ed-bfe3-dac502259ad0.png

a56c0c34-b3ce-11ed-bfe3-dac502259ad0.png






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    1381

    浏览量

    60988
  • SQL
    SQL
    +关注

    关注

    1

    文章

    738

    浏览量

    43460
  • MySQL
    +关注

    关注

    1

    文章

    775

    浏览量

    26000
  • JSON
    +关注

    关注

    0

    文章

    111

    浏览量

    6815

原文标题:Elasticsearch简易入门教程

文章出处:【微信号:aming_linux,微信公众号:阿铭linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Windows安装ElasticSearch

    Windows安装ElasticSearch
    的头像 发表于 02-15 17:09 694次阅读
    Windows安装<b class='flag-5'>ElasticSearch</b>

    linux安装配置ElasticSearch之源码安装

    ElasticSearch是基于Lucene这个非常成熟的索引方案,另加上一些分布式的实现:集群,sharding,replication等。以下是对其采用源码安装的方法1.下载
    发表于 01-11 17:27

    ElasticSearch的词条查询

    ElasticSearch查询 第三篇:词条查询
    发表于 04-30 17:03

    ElasticSearch查询的匹配查询

    ElasticSearch查询 第四篇:匹配查询(Match)
    发表于 05-15 09:59

    docker安装Elasticsearch操作指南

    docker安装Elasticsearch以及分词器
    发表于 09-16 16:53

    ElasticSearch的初步环境

    ElasticSearch最实用入门指南——初步环境
    发表于 03-31 11:32

    elasticsearch介绍PPT

    elasticsearch介绍PPT
    发表于 12-13 21:05 20次下载

    嵌入式系统原理简介入门

    嵌入式系统原理简介入门
    发表于 10-30 16:02 3次下载
    嵌入式系统原理<b class='flag-5'>简介</b>与<b class='flag-5'>入门</b>

    ElasticSearch的必备知识:从入门、索引管理到映射详解

    本文介绍了ElasticSearch的必备知识:从入门、索引管理到映射详解。 一、快速入门 1.查看集群的健康状况 http://localhost:9200/_cat http
    的头像 发表于 09-25 10:44 2094次阅读
    <b class='flag-5'>ElasticSearch</b>的必备知识:从<b class='flag-5'>入门</b>、索引管理到映射详解

    教你们怎么在Django中使用ElasticSearch

    什么是ElasticsearchElasticsearch是基于Lucene库的搜索引擎。它提供了具有HTTP Web界面和无模式JSON文档的分布式,多租户功能的全文本搜索引擎
    的头像 发表于 06-11 16:01 1714次阅读

    ESPHome入门00 - 简介(小白入门, 硬件准备)

    Esphome入门00- 简介(小白入门, 废话较多)
    发表于 12-16 16:52 10次下载
    ESPHome<b class='flag-5'>入门</b>00 - <b class='flag-5'>简介</b>(小白<b class='flag-5'>入门</b>, 硬件准备)

    Elasticsearch6.1教程

    Elasticsearch6.1教程
    发表于 07-04 14:40 0次下载

    ElasticSearch是什么?应用场景是什么?

    ElasticSearch是什么 ElasticSearch的功能 ElasticSearch的应用场景 ElasticSearch的特点
    的头像 发表于 10-09 18:38 1934次阅读

    Elasticsearch保姆级入门

    我们需要创建一个供 Elasticsearch 和 Kibana 使用的 network。这个 network 将被用于 Elasticsearch 和 Kibana 之间的通信。
    的头像 发表于 09-01 15:24 274次阅读
    <b class='flag-5'>Elasticsearch</b>保姆级<b class='flag-5'>入门</b>

    SpringBoot 连接ElasticSearch的使用方式

    在上篇 ElasticSearch 文章中,我们详细的介绍了 ElasticSearch 的各种 api 使用。 实际的项目开发过程中,我们通常基于某些主流框架平台进行技术开发,比如
    的头像 发表于 10-09 10:35 424次阅读