当前位置:首页 > 经验 >

elasticsearch有什么用(elasticsearch快速入门)

来源:原点资讯(www.yd166.com)时间:2022-11-04 04:54:14作者:YD166手机阅读>>

### 3. ES发现机制

该模块主要负责集群中节点的自动发现和Master节点的选举。节点之间使用p2p的方式进行直接通信,不存在单点故障的问题。Elasticsearch中,Master节点维护集群的全局状态,比如节点加入和离开时进行shard的重新分配。 自动发现机制在目前版本(1.3.1)提供了四种选择,一种是默认实现,其他都是通过插件实现。

  • 1. Azure discovery 插件方式,多播
  • 2. EC2 discovery 插件方式,多播
  • 3. Google Compute Engine (GCE)discovery 插件方式多播
  • 4. zen discovery默认实现 多播/单播

多播也叫组播,指一个节点可以向多台机器发送请求。生产环境中ES不建议使用这种方式,对于一个大规模的集群,组播会产生大量不必要的通信。

单播,当一个节点加入一个现有集群,或者组建一个新的集群时,请求发送到一台机器。当一个节点联系到单播列表中的成员时,它就会得到整个集群所有节点的状态,然后它会联系Master节点,并加入集群。

elasticsearch有什么用,elasticsearch快速入门(5)

#### 3.1 分布式以及 Elastic

弹性伸缩 Elastic

Elasticsearch 的弹性体现在两个方面:

1. 服务发现机制让节点很容易加入和退出。

2. 丰富的设置以及allocation API。

#### 3.2 分片(Shard)以及副本(Replica)#### 3.3 恢复以及容灾#### 3.4 选主#### 3.5 脑裂

1. 网络问题

2. 节点负载

3. 内存回收

### 4. ES存储机制

elasticsearch有什么用,elasticsearch快速入门(6)

#### 4.1 简单的文件系统存储

directory类对外最简单的实现基于文件的随机读写,对于简单的应用来说,这种实现方式足够了。它主要的瓶颈是在文件的多线程存取时性能很差。在ElasticSearch中,通常建议使用基于新IO的系统存储来替代简单的文件系统存储。只是如果用户希望使用简单的文件系统存储,可以设置index.store.type属性值为simplefs。

新IO文件系统存储

这种存储类型使用的directory类是基于java.nio包中的FileChannel类实现的,该类映射到Apache Lucene的NIOFSDirectory类这种实现方式使得多个线程同时读写文件时不会出现性能下降的问题。通过设置index.store.type属性值为niofs使用该存储类型。

#### 4.2 MMap文件系统存储

它使用mmap系统调用来通过读取和随机方式完成写文件操作。在进程中,它将文件映射到相同尺寸的虚拟内存地址空间中。由于没有任何的锁操作,多线程存取索引文件时就程序就具有可伸缩性了(可伸缩性是指当增加计算资源时,程序的吞吐量或者处理能力相应的增加)。当我们使用mmap读取索引文件,在操作系统看来,该文件已经被缓存(文件会被映射到虚拟内存中)。基于这个原因,从Lucene索引中读取一个文件时,文件不必加载到操作系统的缓存中,读取速度就会快一些。这基本上就是允许Lucene,也就是ElasticSearch直接操作I/O缓存,索引文件的存取当然会快很多。

#### 4.3 内存存储

这种存储类型是几种类型中唯一不基于Apache Lucene directory实现的(当然也可以用Lucene的RAMDirectory类来实现)。内存存储类型允许用户直接把索引数据存储到内存中,所以硬盘上不会存储索引数据。记住这一点至关重要,因为这意味着数据并没有持久化:只要整个集群重启,数据就会丢失。然而,如果你的应用需要一个微型的、存取快速的,能有多个片分和分片副本的而且重建过程很快的索引,内存存储类型可能是你需要的。把index.store.type属性值设置为memeory即可使用该存储类型。

存储在内存中的索引数据,与其它存储类型相似,也会在允许存数据的节点上保留分片副本。

#### 4.4 默认存储类型

默认情况下,ElasticSearch会使用基于文件系统的存储。尽管不同的存储类型用于不同的操作系统,被选定的存储类型依然基于文件系统。

### 5. ES恢复机制

elasticsearch有什么用,elasticsearch快速入门(7)

1. cluster-level 恢复机制的配置

2. index-level 恢复机制的配置

### 6. 索引写入

1. 分片

2. 副本

elasticsearch有什么用,elasticsearch快速入门(8)

栏目热文

elasticsearch怎么读中文(elasticsearch快速入门)

elasticsearch怎么读中文(elasticsearch快速入门)

Elasticsearch是什么•Elasticsearch 是一个分布式的开源搜索和分析引擎。•适用于所有类型的数据,...

2022-11-04 04:58:03查看全文 >>

elasticsearch 可以干什么(elasticsearch是怎么存储的)

elasticsearch 可以干什么(elasticsearch是怎么存储的)

摘要先自上而下,后自底向上的介绍ElasticSearch的底层工作原理,试图回答以下问题:为什么我的搜索 *foo-b...

2022-11-04 04:40:27查看全文 >>

elasticsearch代码(elasticsearch接口调用)

elasticsearch代码(elasticsearch接口调用)

前言看到标题以后大家有些人可能感觉有点小题大做,毕竟cilent端几行代码就能解决的问题,没必要兴师动众的来仔细讲一下。...

2022-11-04 04:38:13查看全文 >>

elasticsearch 做什么用的(elasticsearch有什么用)

elasticsearch 做什么用的(elasticsearch有什么用)

作者:靠发型吃饭的柳树 来自:柳树的絮叨叨Elasticsearch是什么? Elasticsearch is the ...

2022-11-04 04:17:02查看全文 >>

elasticsearch是用什么语言写的(es数据查询)

elasticsearch是用什么语言写的(es数据查询)

我们之前介绍了相关的技术,并且也简单介绍了Elasticsearch相关的基本知识。那通过之前的内容我们知道Elasti...

2022-11-04 04:23:08查看全文 >>

elasticsearch用什么语言写的(elasticsearch什么语言好)

elasticsearch用什么语言写的(elasticsearch什么语言好)

本文演示了如何使用IK Analysis 插件来实现在 Elasticsearch 中的中文分词功能。使用中文分词在“S...

2022-11-04 04:39:29查看全文 >>

elasticsearch干嘛的(elasticsearch白名单)

elasticsearch干嘛的(elasticsearch白名单)

Elasticsearch,这个家伙我就不用过多介绍了吧,简称ES,这可不是js里面的es语法也不是阿里云里面的es云服...

2022-11-04 04:35:08查看全文 >>

elasticsearch是什么系统(elasticsearch为什么快)

elasticsearch是什么系统(elasticsearch为什么快)

在安装配置之前 ,我们首先应该弄清楚什么是Elasticsearch,以及它有什么作用什么是Elasticsearch?...

2022-11-04 04:35:44查看全文 >>

elasticsearch怎么读日志(elasticsearch 日志输出)

elasticsearch怎么读日志(elasticsearch 日志输出)

ElasticStack技术栈如果你没有听说过 Elastic Stack,那你一定听说过 ELK ,实际上 ELK 是...

2022-11-04 04:19:49查看全文 >>

elasticsearch重要吗(为什么要elasticsearch)

elasticsearch重要吗(为什么要elasticsearch)

前提人工智能、大数据快速发展的今天,对于 TB 甚至 PB 级大数据的快速检索已然成为刚需,大型企业早已淹没在系统生成的...

2022-11-04 05:04:41查看全文 >>

文档排行