前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ElasticSearch(一) ElasticSearch入门

ElasticSearch(一) ElasticSearch入门

作者头像
lomtom
发布2021-10-27 14:57:02
9700
发布2021-10-27 14:57:02
举报
文章被收录于专栏:博思奥园博思奥园

你能get到的知识点?

1.ES简介以及同类产品对比2.ES的基础概念3.ES head的安装4.ES的单节点安装与集群式安装

本文首发于CSDN,作者:lomtom 原文链接:https://blog.csdn.net/qq_41929184/article/details/116799994 你的支持就是我最大的动力。

一、概述

什么是ElasticSearch?

ElasticSearch:高可用分布式搜索引擎(一般简称为ES),可用于实时存储、检索数据,使用Restful API隐藏Lucene的复杂性,可以让全文搜索变得简单

1.功能及特点:

1.分布式的搜索引擎与数据分析(可拓展到上百台服务器) 2.全文检索、结构化检索(检索是使用倒排来实现的) 3.对海量数据进行实时处理(支持PB级别数据)

2.使用场景: 可用于大数据、数据清洗等等 3.目前使用:

代码语言:javascript
复制

4.背景: 一个码农失业,给老婆写了一个菜谱的简单搜索引擎,找到工作后,将初版本的搜索引擎进一步迭代,就有了最开始的ElasticSearch。

同类对比:ES vs Solr

1.es基本是开箱即用(解压就可以用) ,非常简单,Solr安装略微复杂- 丟丢!2.Solr 利用Zookeeper进行分布式管理,而Elasticsearch自身带有分布式协调管理功能。3.Solr 支持更多格式的数据,比如SON. XML、 CSV ,而Elasticsearch仅支持json文件格式。4.Solr 官方提供的功能更多,而Elasticsearch本身更注重于核心功能。高级功能多有第三方插件提供,例如图形化界面需要 kibana友好支撑5.Solr 查询快,但更新索引时慢(因为可能会导致IO阻塞)

?ES建立索引快, 即实时性查询快,用于facebook新浪等搜索。 ?Solr是传统搜索应用的有力解决方案,但Elasticsearch更适用于新兴的实时搜索应用。 ?插入数据时,Solr会有明显的搜索效率的降低,而ES不会。

6.Solr比较成熟,有一一个更大,更成熟的用户、开发和贡献者社区,而Elasticsearch相对开发维护者较少,更新太快,学习使用 成本较高。 7.ES在未来成为趋势

二、入门

ES基本概念

(1)Near Realtime(NRT):近实时,两个意思,从写入数据到数据可以被搜索到有一个小延迟(大概1秒);基于es执行搜索和分析可以达到秒级

(2)Cluster:集群,包含多个节点,每个节点属于哪个集群是通过一个配置(集群名称,默认是elasticsearch)来决定的,对于中小型应用来说,刚开始一个集群就一个节点很正常 (3)Node:节点,集群中的一个节点,节点也有一个名称(默认是随机分配的),节点名称很重要(在执行运维管理操作的时候),默认节点会去加入一个名称为“elasticsearch”的集群,如果直接启动一堆节点,那么它们会自动组成一个elasticsearch集群,当然一个节点也可以组成一个elasticsearch集群

(4)Index:索引,包含一堆有相似结构的文档数据,类似于数据库中的一个表,例如一个用户表。(5)Type:类型,每个索引里都可以有一个或多个type,type是index中的一个逻辑数据分类,一个type下的document。在7.X版本被弃用,使用_doc代替。

在7.X前把index比作数据库名,把type比作表名更加合适,但是在7.X后,type被ES弃用,所以将index比作表,而type就没有啥实际意义,只是迭代的遗留产物,官方在后续版本将彻底弃用type。

(6)Document:文档,es中的最小数据单元,类似于数据库中表的一行数据。例如用户表中的某一行数据。

(7)shard:单台机器无法存储大量数据,es可以将一个索引中的数据切分为多个shard,分布在多台服务器上存储。有了shard就可以横向扩展,存储更多数据,让搜索和分析等操作分布到多台服务器上去执行,提升吞吐量和性能。每个shard都是一个lucene index。(8)replica:任何一个服务器随时可能故障或宕机,此时shard可能就会丢失,因此可以为每个shard创建多个replica副本。replica可以在shard故障时提供备用服务,保证数据不丢失,多个replica还可以提升搜索操作的吞吐量和性能。primary shard(建立索引时一次设置,不能修改,默认5个),replica shard(随时修改数量,默认1个),默认每个索引10个shard,5个primary shard,5个replica shard,最小的高可用配置,是2台服务器。

1.集群名:在config/elasticsearch.yml中配置,如果需要配置集群,所有的节点名字的集群名字必须一致

代码语言:javascript
复制

2.如何查看节点状态:

代码语言:javascript
复制

在一个不包含任何索引的空集群中,它将会有一个类似于如下所示的返回内容:

代码语言:javascript
复制

status 字段是我们最关心的。

status 字段指示着当前集群在总体上是否工作正常。它的三种颜色含义如下:

-- 绿色(green):健康状态,所有的主分片和副本分片都正常运行。-- 黄色(yellow):警告状态,所有的主分片都正常运行,但不是所有的副本分片都正常运行。-- 红色(red):错误状态,有主分片没能正常运行。

三、安装

以前我有一篇文章专门介绍怎么使用docker去安装ES,感兴趣的看一下:传送门[1]

1 ElasticSearch Head

ElasticSearch Head可用于ES的可视化。

安装:

我们通常可以通过两种方法来使用他:

1.浏览器插件:谷歌应用商店:https://chrome.google.com/webstore/detail/elasticsearch-head/ffmkiejjmecolpfloofpjologoblkegm/related?utm_source=chrome-ntp-icon

2.ES head的源码:https://github.com/mobz/elasticsearch-head/releases

简单的几部就可以使用ES head:(前提是有node环境,并且安装npm)

?git clone git://github.com/mobz/elasticsearch-head.git?cd elasticsearch-head?npm install?npm run start?open http://localhost:9100/

2 单节点安装

Support Matrix: https://www.elastic.co/cn/support/matrix

启动:1、直接下载:进入到 bin 目录下,直接执行 elasticsearch 启动即可。

2、docker下载:启动容器即可启动ElasticSearch

验证:进入http://localhost:9200/,出现如下信息即为成功,

代码语言:javascript
复制

ES的目录以及含义:

目录

含义

modules

依赖模块目录

lib

第三方依赖库

logs

输出日志目录

plugins

插件目录

bin

可执行文件目录

config

配置文件目录

data

数据存储目录

3 分布式(集群)安装

?一主二从?master 的端口是 9200,slave 端口分别是 9201 和 9202

1、如果是docker安装,只需要注意端口映射,以及配置的ip即可,

代码语言:javascript
复制

2、如果是压缩包,解压后修改相应的config/elasticsearch.yml即可

代码语言:javascript
复制

然后启动三台机器,使用head插件进行查看

4 可视化工具kibana

常常我们需要一个图表式的可视化,kibana就是一个不错的选择。

1、docker安装:见我另一篇文章[3]

2、压缩包安装:https://www.elastic.co/cn/downloads/kibana

四、你可能会遇到的问题:

1、出现黄色警告

黄色(yellow)的详细解释[4]

2、ES跨域问题:

可能会遇到的问题:在安装ES head和ES后,打开插件或者head地址,如果未出现相关节点信息可能是因为未配置跨域

打开 config/elasticsearch.yml 文件

代码语言:javascript
复制

启动:

References

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-06-26,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 博思奥园 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 你能get到的知识点?
  • 一、概述
    • 什么是ElasticSearch?
      • 同类对比:ES vs Solr
      • 二、入门
        • ES基本概念
        • 三、安装
          • 1 ElasticSearch Head
            • 2 单节点安装
              • 3 分布式(集群)安装
                • 4 可视化工具kibana
                • 四、你可能会遇到的问题:
                  • 1、出现黄色警告
                    • 2、ES跨域问题:
                      • References
                      相关产品与服务
                      Elasticsearch Service
                      腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                      http://www.vxiaotou.com