ElasticSearch入门 第二篇:集群配置ES2.4

Elasticsearch搜索引擎 本篇博客系统地介绍了Elasticsearch 7.14.0在windows环境下安装、基本使用、Springboot集成Elasticsearch以及ELK搭建。 阅读详情

 

 

这是ElasticSearch 2.4 版本系列的第二篇:

 

ElasticSearch共有两个配置文件,都位于config目录下,分别是elasticsearch.yml和logging.yml,其中,elasticsearch.yml 是全局配置文件,用于在服务器级别对ElasticSearch进行配置。ElasticSearch的配置选项分为静态设置和动态设置两种,静态设置必须在结点级别(node-level)设置,或配置在elasticsearch.yml配置文件中,或配置在环境变量中,或配置在命令行中,在结点启动之后,静态设置不能修改。集群的名字和结点的名称:cluster.name 和 node.name,这两个配置项是静态配置项,不能在集群运行时修改,而动态配置项可以在集群运行时通过RESTful API进行修改。

一,配置集群的标识(cluster.name)

通过 cluster.name 属性配置集群的名字,用于唯一标识一个集群,不同的集群,其 cluster.name 不同,集群名字相同的所有节点自动组成一个集群。如果不配置改属性,默认值是:elasticsearch。当启动一个结点时,该结点会自动寻找相同集群名字的主结点;如果找到主结点,该结点加入集群中;如果未找到主结点,该结点成为主结点。

注意:在yml中对Elasticsearch进行全局配置,要注意配置选项的格式:option: value,在“:”之后保留一个空格,之后是选项值;配置选项不要有前置空格。

配置集群的名字为myescluster

cluster.name: myescluster

二,结点的配置

ElasticSearch集群中,共有五种结点类型:主结点(Master),候选主结点(Master-eligible),数据结点(Data),吸收结点(Ingest)和部落结点(Tribe)。在一个集群中,主结点只有一个,负责管理集群,执行集群级别的操作,比如创建或删除索引,跟踪集群的组成结点的状态,决定将分片分配的目标结点,对集群来说,一个稳定的主结点十分重要。集群会自动进行健康检测,当主结点出现故障时,集群中的候选主结点进行选举,在选举结束之后,一个候选主结点被选举成为新的主结点,实现集群故障的自动转移。候选主结点具有投票权,其他结点没有投票权。

1,配置候选主结点和数据结点

默认情况下,ElasticSearch将当前节点配置为同时作为候选主结点和数据结点:

  • node.data:true 配置该结点是数据结点,用于保存数据,执行数据相关的操作(CRUD,Aggregation);
  • node.master:true 配置该结点有资格被选举为主结点(候选主结点),用于处理请求和管理集群。如果结点没有资格成为主结点,那么该结点永远不可能成为主结点;如果结点有资格成为主结点,只有在被其他候选主结点认可和被选举为主结点之后,才真正成为主结点。

配置当前结点只保存数据:

node.master: false
node.data: true

配置当前结点不保存数据,只做候选主结点:

node.master: false
node.data: true

2,主结点选取的配置

discovery.zen.minimum_master_nodes 属性:默认值是1,该属性定义的是为了组成一个集群,相互连接的候选主结点的最小数目,强烈推荐该属性的设置使用多数原则:(master_eligible_nodes / 2) + 1,既能避免出现脑裂(split-brain),又能在故障发生后,快速选举出新的主结点,例如,有5个候选主结点,推荐把该属性设置为3。

3,结点的路径(Path)

默认情况下,ElasticSearch使用基于安装目录的相对路径来配置结点的路径,安装目录由属性path.home显示,在home path下,ElasticSearch自动创建config,data,logs和plugins目录,一般情况下不需要对结点路径单独配置。结点的文件路径配置项:

  • path.config 设置ElasticSearch的配置文件保存的目录;
  • path.data 设置ElasticSearch结点的索引数据保存的目录,多个数据文件使用逗号隔开,例如,path.data: /path/to/data1,/path/to/data2;
  • path.logs 设置ElasticSearch结点的日志文件保存的目录;
  • path.plugins  设置ElasticSearch插件安装的目录;
  • path.work 设置ElasticSearch的临时文件保存的目录;

4,单个ElasticSearch实例的Java虚拟机(JVM)的堆内存限制

ElasticSearch实例必须运行在安装JDK的机器上,在安装完Java Runtime组件之后,必须创建系统变量JAVA_HOME,指定JDK安装的位置,比如:

JAVA_HOME: C:\Program Files\Java\jre1.8.0_121\bin

默认的JVM内存限制是 1GB,对小项目而言,1GB内存足够使用,不会出现问题,但是,对大项目而言,这个默认限制太小了,如果日志文件中经常出现OutOfMemoryError异常消息,就考虑重新设置 ES_HEAP_SIZE 环境变量,为JVM分配足够的内存,同时,必须为OS分配足够的内存,建议JVM使用的物理内存最大不应超过32GB,推荐分配机器物理内存的50%,在Windows中创建新的系统环境变量 ES_HEAP_SIZE,设置堆内存大小为5G:

环境变量
ElasticSearch 首先读取通用的JAVA_OPTS环境变量来获取JVM参数, 除了可以用JAVA_OPTS配置JVM参数外, 还可以通过ElasticSearch提供的ES_JAVA_OPTS环境变量配置JVM参数, ES_JAVA_OPTS会覆盖JAVA_OPTS中配置的相同参数, 官方建议是在JAVA_OPTS中配置通用的参数, 在ES_JAVA_OPTS中配置针对Elasticsearch需要调整的参数。环境变量最主要的作用是指定 -Xmx 最大堆大小和 -Xms 最小堆大小。

JAVA_OPTS ,是用来设置JVM相关运行参数的环境变量,例如:JAVA_OPTS="-server -Xms2048m -Xmx2048m"

  • -server:一定要作为第一个参数,在多个CPU时性能佳
  • -Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
  • -Xmx:java heap最大值,使用的最大内存

上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。

三,索引配置

1,配置索引的分片(shard)和副本(replica)数量

默认的配置是把索引分为5个分片,每个分片1个副本,共10个结点:

index.number_of_shards: 5
index.number_of_replicas: 1

禁用索引的分布式特性,使索引只创建在本地主机上:

index.number_of_shards: 1
index.number_of_replicas: 0

2,当前节点锁住内存

当JVM做分页切换(swapping)时,ElasticSearch执行的效率会降低,推荐把ES_MIN_MEM和ES_MAX_MEM两个环境变量设置成同一个值,并且保证机器有足够的物理内存分配给ES,同时允许ElasticSearch进程锁住内存:

bootstrap.mlockall: true

3,断路器(Circuit Breaker)控制内存的使用量

断路器用于阻止产生OutOfMemoryError的操作,每一个断路器设置一个内存使用的上限,一旦操作达到该上限,ElasticSearch将阻止该操作继续使用内存。设置较多,一般不需要修改,保持默认值:

  • indices.breaker.total.limit: defaults to 70% of JVM heap
  • indices.breaker.request.limit: defaults to 60% of JVM heap
  • indices.breaker.request.overhead: defaults to 1
  • network.breaker.inflight_requests.limit: defaults to 100% of JVM heap
  • network.breaker.inflight_requests.overhead: defaults to 1
  • script.max_compilations_per_minute: defaults to 15

4,字段数据缓存

在对一个字段执行排序或聚合操作时,使用字段数据缓存(field data cache)将该字段的值加载到内存,以加快查询的速度。加载字段数据还原是IO密集的操作,推荐分配足够的内存,并且不分配过期时间:

  • indices.fielddata.cache.size,控制结点级别的字段数据缓存大小,默认值是无限大(unbounded),建议分配足够的物理内存;
  • indices.fielddata.cache.expire,控制字段数据缓存的过期时间,默认值是字段数据永不过期;
  • indices.breaker.fielddata.limit,断路器,默认值是JVM堆内存的 80%;当加载字段值所需要的内存超过JVM堆内存的80%,将引发异常;
  • indices.breaker.fielddata.overhead: 断路器,默认值是1.03;

5,结点查询缓存:

查询缓存用于缓存查询的结果,每一个节点都有一个查询缓存,缓存过期使用LRU淘汰策略(Least Recently Used eviction):当缓存满时,最近最少使用的数据被淘汰,从缓存中清除,以存储新的数据。

  • indices.queries.cache.enabled,默认值是true;
  • indices.queries.cache.size,默认值是10%;

6,索引缓存

索引缓存用于存储最新的索引文档(newly indexed documents),当该缓存填充满时,缓存的文件将被写入到磁盘中的段(segment)中。 

  • indices.memory.index_buffer_size,默认值是10%,在单个结点上,所有索引的分片占用的最大内存大小,或占用JVM堆内存的百分比;
  • indices.memory.min_index_buffer_size,当indices.memory.index_buffer_size指定为百分比时,使用该选项配置绝对值,默认值是48MB;
  • indices.memory.max_index_buffer_size,当indices.memory.index_buffer_size指定为百分比时,使用该选项配置绝对值,默认值是无限大;

7,分片请求缓存:

  • indices.requests.cache.enable:默认值是true
  • indices.requests.cache.size: 默认值是1%

当对一个索引执行查找请求(Search Request)时,每一个相关的分片(involved shard)都在本地执行查询,返回查询结果(local result)给协调结点(coordinating node)进行组合(combine),将各个分片的结果合并为最终的结果集返回。分片请求缓存对每个分片的查询结果进行缓存。

8,索引的刷新频率

索引对象刷新的频率,刷新频率越低,文档对搜索操作可视的时间越长:

  • index.refresh_interval,在索引级别指定索引的刷新频率,默认值是1s

9,段(Segment)合并

每个索引分为多个段(Segment),一个段写入硬盘后,就不能再被更新,因此,被删除文档的信息存储在一个单独的文件中。ElasticSearch支持文档的更新,在底层,实际上是删除旧文档,再把更新内存的文档编入索引。在查找时,需要从返回结果中过滤掉已删除的文档。

如果数据更新或删除的数据比较多,那么每个段中的有效数据密度会变低,降低了查询的性能,通过段合并,将已删除的数据从段(Segment)中物理删除,能够提高搜索性能,合并的过程是:底层的Lucene库获取若干段,从段中过滤已删除的数据,保存到一个新的段上;段合并完成之后,将源段从硬盘上物理删除;段合并操作的CPU和IO的消耗是非常高的,必须控制段合并执行的频率和时机。

段合并的策略控制段合并的时机,在适当的条件下进行段合并:

  • index.merge.policy.type,有效值:tiered,log_byte_size,log_doc
    • tiered:默认的合并策略,合并尺寸大致相似的段
    • log_byte_size:根据文档的字节数量进行合并
    • log_doc:根据文档的数量进行合并

段合并的线程控制,以串行或并发方式执行段合并:

  • index.merge.scheduler.type,有效值:serial(串行),concurrent(并发)

合并因子控制段合并的频率,合并因子越小,合并的频率越高:

  • index.merge.policy.merge_factor,默认值是10

段合并调节器,限制合并的速度:

  • indices.store.throttle.type,有效值:none,merge,all
  • indices.store.throttle.max_bytes_per_sec:默认值10mb

四,集群的网络配置

1,结点的IP地址配置

配置当前结点绑定的IP地址,默认为0.0.0.0

network.bind_host: 192.168.0.1

设置其它结点和该结点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址

network.publish_host: 192.168.0.1

同时设置bind_host和publish_host两个参数

network.host: 192.168.0.1

2,设置结点间交互的TCP端口,默认是9300

transport.tcp.port: 9300

3,设置对外服务的HTTP端口,默认为9200

http.port: 9200

4,设置是否压缩TCP传输时的数据,默认为false,不压缩

transport.tcp.compress: true

5,设置HTTP包内容的最大容量,默认100mb

http.max_content_length: 100mb

6,是否启用HTTP协议对外提供服务,默认为true,开启

http.enabled: true

五,集群的发现机制(Discovery)

ElasticSearch使用zen发现来寻找结点和选举主结点,组建集群;zen发现默认使用多播,但是,单播发现比较安全,推荐使用单播发现。

1,配置多播(multicast)

多播(multicast)是zen发现的默认方法,主要有以下配置选项:

  • discovery.zen.ping.multicast.group:用于多播请求的群组地址,默认值是224.2.2.4;
  • discovery.zen.ping.multicast.port:设置多播通信的端口,默认值是54328;
  • discovery.zen.ping.multicast.ttl;设置多播请求被认为有效的时间,默认值是3s;
  • discovery.zen.ping.multicast.address:设置ElasticSearch绑定的网络接口,默认为null,意味着ElasticSearch尝试绑定所有网络接口;
  • discovery.zen.ping.multicast.enable:启用或禁用多播;

2,配置单播(unicast)

使用单播时,总是禁用多播,单播的配置选项:

discovery.zen.ping.unicast. hosts:指定接收单播请求的主机IP地址,推荐包含组成集群的所有主机,主机之间用逗号隔开;

discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["host1", "host2:port"]

3,结点之间的状态检测

ping是结点之间发送的心跳信号,用于检测其他结点是否健康运行,如果其他结点无法响应该信号,那么集群认为该结点发生故障,配置ping信号的属性:

  • discovery.zen.fd.ping_interval:默认为1s,设置结点之间互相ping信号的时间间隔;
  • discovery.zen.fd.ping_timeout:默认为30s,设置当前结点发送ping信号后等待目标结点响应的时间,超过该时间,当前结点认为目标结点无法响应;
  • discovery.zen.fd.ping_retries:默认为3次,设置重试次数,超过此次数之后,判定目标结点出现故障,停止工作;
  • discovery.zen.ping.timeout: 默认值是3s,设置当前结点等待其他结点的ping信号的超时时间;

六,本地网关(Gateway)和还原(Recovery)

网关用于持久化存储集群的数据,包括集群的状态,索引和索引里面的数据,索引的类型映射和索引级别的配置信息等元数据,网关相当于关系型DB的事务日志。每一次集群数据的改变,ElasticSearch都将集群的数据存储到网关中。当集群重新启动时,它将会从网关中读取集群的数据,还原到上一次停机时的状态。

1,网关的类型

目前只支持local类型(本地网关),在本地文件系统中存储索引及其元数据;

gateway.type: local

2,还原控制

还原控制的选项有:

  • gateway.recover_after_nodes:3,表示当集群中有3个结点之后,允许执行还原进程;
  • gateway.recover_after_time:10m,表示当集群满足gateway.recover_after_nodes属性(集群中至少有3个结点)之后,ElasticSearch在10分钟之后开始执行还原进程;
  • gateway.expected_nodes:5,设置集群期望的结点数量,当集群中结点的数目等于5,并且满足gateway.recover_after_nodes属性(集群中至少有3个结点)时,ElasticSearch将立即执行还原进程;
  • 网关对数据结点和主结点的还原控制:
    • gateway.recover_after_master_nodes 和 gateway.expected_master_nodes
    • gateway.recover_after_data_nodes 和 gateway.expected_data_nodes

3,保护动作

默认情况下,ElasticSearch自动创建索引,推荐关闭该选项

action.disable_close_all_indices: true
action.disable_delete_all_indices: true
action.disable_shutdown: true
action.auto_create_index: false

4,还原限制(Recovery Throttling)

  • cluster.routing.allocation.node_initial_primaries_recoveries: 4,在初始化还原期间,控制单个结点中执行并行还原进程的数量;
  • cluster.routing.allocation.node_concurrent_recoveries: 2,在增加/移除结点,重平衡期间,控制单个结点中执行并行还原进程的数量;
  • indices.recovery.max_bytes_per_sec: 100mb,在还原时,吞吐量的上限,默认值是20MB;
  • indices.recovery.concurrent_streams: 5,在还原分片时,设置开启的并发流的上限;

七,线程池配置

Elasticsearch公开两种类型的线程池:

  • cache:无限制的线程池,为每个请求创建一个线程;
  • fixed:固定大小的线程池,大小由size属性指定,

对于固定大小的线程池类型,必须为ElasticSearch指定一个请求队列(queue)用来保存请求,请求被存储到队列中,直到有一个空闲的线程来执行请求;如果队列满了,ElasticSearch无法把请求存放到队列中,该请求将被拒绝;

  • threadpool.index.type: fixed
  • threadpool.index.size: 100
  • threadpool.index.queue_size: 500

附言:

ElasticSearch引擎的配置选项非常多,并且要真正理解这些配置选项对引擎的影响,也不是一件容易的事,不过,不用担心,在使用ElasticSearch时,真正需要修改配置选项的情况少之又少,所以,通常使用默认的配置就能满足生产环境的要求,ElasticSearch重要配置示例:

复制代码

## cluster
cluster.name: "my-es-cluster"

## node
node.name: "node-1"
node.master: true
node.data: true

## index
index.number_of_shards: 1
index.number_of_replicas: 0

## memory
bootstrap.mlockall: true

## network
network.host: 192.168.0.1
transport.tcp.port: 9300
http.port: 9200

## discovery
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["host1", "host2:port"]

## protection
action.auto_create_index: false

## scripting
script.inline: true
script.indexed: true

 

Elasticsearch Reference [2.4] » Setup » Configuration

Elasticsearch Reference [2.4] » Modules

Elasticsearch Reference [2.4] » Modules » Node

Install and configure Elasticsearch in Windows

Important Elasticsearch configuration

elasticsearch.yml配置文件

【ES专题】ElasticSearch集群架构剖析_es集群 诸如。 阅读详情

相关推荐

分布式搜索引擎之elasticsearch基本使用3

因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。

weixin_43956070的博客 1432

ElasticSearch入门 第三篇:索引

这是ElasticSearch 2.4 版本系列的第三篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 ElasticSearch入门 第三篇:索引 ElasticSearch入门 第四篇:使用C#添加和更新文档 ElasticSearch入门 第五篇:使用C...

weixin_34262482的博客 1061

【ES专题】ElasticSearch集群架构剖析_es集群(1)

使用何种通信协议去同步数据,互相通信采用何种策略同步数据(异步还是同步)如何保证一致性,保证到什么程度(【最终一致性】 or【实时一致性 / 强一致性】)使用何种算法去选举主次节点(感觉这个比较随意,通常为了快速恢复服务,选举流程是怎么快怎么来,但是不能出现【脑裂问题】)

2401_84159688的博客 1718

elasticsearch之bool查询too_many_clauses: maxClauseCount is set to 1024

问题 es中使用bool查询时查询内容长度太长导致报错: caused by: org.elasticsearch.common.io.stream.NotSerializableExceptionWrapper: too_many_clauses: maxClauseCount is set to 1024 错误信息提示:最大字句数量限制为1024 解决方案 1.设置es配置文件elasticsearch.yml es 5.x以下: index.query.bool....

Eflyings的博客 1625

elasticsearch(ES)简介及安装-----笔记

ES是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容。ES结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域。elasticsearch是elastic stack的核心,负责存储、搜索、分析数据。kibana负责数据可视化,elasticsearch负责存储、计算、搜索数据,logstash\Beats负责数据抓取。elasticsearch底层实现是Lucene计术。

weixin_44846205的博客 2388

elasticsearch 2.4.5

elasticsearch 2.4.5 分布式搜索引擎工具,为企业级开源搜索框架

Elasticsearch2.4学习(二)------Elasticsearch2.4.1集群部署及elasticsearch.yml配置

在阅读源码之前,我们先搭建一个三节点集群,以达到对Elasticsearch有一个宏观认识的目的。 一、环境介绍 三个服务器节点,分别为: huawei@10.18.133.5 huawei@10.18.133.6 huawei@10.18.133.7 二、Elasticsearch集群搭建 2.1 源码下载 首先需要说明的是:因为安全问题elasticsearch 不让用ro

郭嘉梁的博客 5529

elasticSearch 2.4.4

来自ES官方 2.4.4版本 开箱即可运行 选择/bin 下的elasticSearch.bat即可运行 支持springboot data ealsticsearch

ElasticSearch2.4.0单机版及集群安装

  编写不易,转载请注明( http://shihlei.iteye.com/blog/2327971)! 概述 (一)简介           基于lucene 实现的近实时搜索服务,Restful 接口操作       (二)名词解释 Indics:索引库,相当于RDBMS的 数据库,整体控制分片(shard)和副本(Replica),一旦创建,分片不能改变。   D...

禅鸣之时 418

Android Profiler 帧率优化实战与性能调优

本文详细介绍了使用Android Profiler进行帧率优化与性能调优的实战方法。通过分析主线程状态、FPS曲线和渲染阶段耗时,精准定位卡顿根源,并提供减少过度绘制、优化绘制命令及改善资源使用的具体策略。文章结合电商、游戏等真实案例,帮助开发者有效解决卡顿问题,提升应用流畅度。

palm99的专栏 537

Python爬虫实战:从巨潮网批量抓取上市公司年报JSON数据

网络爬虫作为自动化数据采集的核心技术,其原理是通过模拟浏览器行为向服务器发送HTTP请求并解析响应,从而高效获取结构化信息。在金融数据分析领域,这项技术价值尤为突出,能够将研究人员从繁琐的手工数据收集中解放出来,聚焦于更高阶的模型构建与价值挖掘。典型的应用场景包括上市公司财务研究、市场趋势分析和风险预警系统开发。本文以Python的requests库为核心工具,详细解析如何通过分析巨潮资讯网的JSON数据接口,构建一个稳定、高效的上市公司年报数据采集管道,并重点探讨了接口逆向、分页爬取、PDF文件下载等关键

weixin_42529366的博客 1239

ES配置参数详解(一)

cluster.name #集群名,自定义集群名,默认为elasticsearch,建议修改,因为低版本多播模式下同一网段下相同集群名会自动加入同一集群,如生产环境这样易造成数据运维紊乱。 node.name 节点名,同一集群下要求每个节点的节点名不一致,起到区分节点和辨认节点作用 node.master 是否为主节点,选项为true或false,当为true时在集群启动时该节点为主节点,在宕机或任务挂掉之后会选举新的主节点,恢复后该节点依然为主节点 node.data 是否处理数据,选项为true或fal

Rocky 2777

在win10-wsl2(ubuntu)中安装jlink

在 官方下载linux版本的deb包拷贝到ubuntu的/home目录下(其他目录也可以),进行安装然后提示很多依赖缺失的错误,此时执行自动安装需要的依赖包再次重新安装就可以啦查看是否安装成功,输入JLink 再按下两次Table键,是否如下所示这样表示安装成功了。

yaq_30401的博客 3142

详解最热门搜索引擎——ES

一、产生背景 ​ 互联网发展早期的时候,对于一般的公司储存的数据量不是那么的大,所以很多公司更倾向于使用数据库去存储和查询数据,如:现在去MySQL中查询数据,大概的查询方式就是:select * from table where filed like “%XXX%”或者其他方式,但是,如果我们在查询的时候没有用到或命中数据库建立的索引话,则会扫描整张表,即便是MySQL做过单表查询能力优化,但是他的极限也只在400万左右,且还会经常出现超时现象,让后为了解决这些问题,。很多公司就开始对数据库进

会编程的小郑 1万+

ADS负载牵引仿真避坑指南:从零开始搞定Loadpull模板设置

本文是一份针对ADS负载牵引仿真的深度避坑指南,详细解析了Loadpull模板从初始化配置到结果解读的全过程。文章重点阐述了如何根据设计目标灵活设置扫描圆、采样点等关键参数,以解决仿真不收敛、结果不完整等常见问题,并指导读者在功率与效率之间做出理性权衡,最终提取出用于匹配网络设计的最优负载阻抗。

weixin_29234423的博客 599

S7-PLCSIM Advanced报错-30:LicenseNotFound根源排查与修复全攻略

在工业自动化仿真领域,软件许可证管理是保障虚拟调试环境稳定运行的基石。当TIA Portal配合S7-PLCSIM Advanced进行S7-1500仿真时,时常遇到因授权验证失败而弹出的LicenseNotFound错误,其错误码-30背后往往涉及许可证服务、授权类型匹配、系统时间甚至杀毒软件干扰等多重因素。理解Automation License Manager的工作原理和底层服务依赖,是高效定位问题的关键。本文从许可证验证机制出发,系统解析-30错误的常见现象与根因,提供从日志分析、服务检查、命令行诊

weixin_34189116的博客 427

分布式搜索引擎ES-elasticsearch入门

正排索引:相当于文档中的一条条记录;例子:汉语值得学习;汉语是语言;汉语学习视频;倒排索引:起源于实际应用中需要根据属性的值来查询记录。这种索引表的每一项都包括一个属性值和包含该属性值得各个记录地址。由于不是根据记录来确定属性,而是根据属性来确定记录的位置。可以记录文档的ids,词频跟位置例子:汉语值得学习;汉语是语言;汉语学习视频;单词文档ids词频TF;位置POS汉1,2,3语1,2,3值得11:1:<3>学习1,3是21:1;<3>言2。

TOMORROW6COME的博客 2052

高级数据结构之R树(R-tree)

R树(R-tree)是一种将B树扩展到多维情况下得到的数据结构,它最初由Antonin Guttman于1984年提出。B树的结点中会存储一个键的集合,这些键把线分成片段,沿着那条线的点仅属于一个片段。因此,B树使得我们可以很容易地找到点。如果把沿线各处的点表示成B树结点,我们就能够确定点所属唯一子结点,在那里可以找到该点。 Antonin Guttman在他提出R树的经典论文中给出的R树例子...

白马负金羁 1万+

Linux安装elasticsearch搜索引擎并配置

`-v es-plugins:/usr/share/elasticsearch/plugins`:挂载逻辑卷,绑定es的插件目录。- `-v es-data:/usr/share/elasticsearch/data`:挂载逻辑卷,绑定es的数据目录。- `-v es-logs:/usr/share/elasticsearch/logs`:挂载逻辑卷,绑定es的日志目录。- `--network es-net` :加入一个名为es-net的网络中,与elasticsearch在同一个网络中。

m0_74939895的博客 1841

使用 Python 调用 GitHub REST API 爬取 GitHub 仓库信息(完整指南)

GitHub 提供了功能强大的 REST API,允许开发者通过编程方式访问 GitHub 上的仓库、用户、提交记录、PR(Pull Request)等信息。GitHub REST API 是 GitHub 官方提供的 API 接口,支持通过 HTTP 请求来操作 GitHub 上的资源。在本文中,我们将使用 Python 编写一个完整的爬虫程序,调用 GitHub 的 REST API 来爬取 GitHub 仓库的信息。目前 GitHub 使用的主要是 v3 版本的 REST API。

2201_76125261的博客 1113

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

安装elasticsearch:部署单点es,部署kibana,安装IK分词器,部署es集群

因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。

aa35434的博客 2227

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ElasticSearch全文搜索引擎

Lucene是apache下的一个开源的全文检索引擎工具包(一堆jar包)。它为软件开发人员提供一个简单易用的工具包(类库),以方便的在小型目标系统中实现全文检索的功能。Lucene适用于中小型项目 ,ES适用于中大型项目(它底层是基于lucene实现的)虽然全文搜索领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。但是,Lucene只是一个库。

2201_75971147的博客 3236

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Elasticsearch——Windows下ES集群部署 & Linux下ES单节点、集群部署

Elasticsearch——Windows下ES集群部署 & Linux下ES单节点、集群部署

贝尔摩德苦艾酒 8451

全文搜索引擎Elasticsearch6.x 入门

全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。    Elastic 的底层是开源的Lucene。Elastic提供了REST API的操作接口。是Lucene的扩展。底层依旧是索引,但是可以把大索引切成n片,放到不同的节点,所以就实现了分布式。也就理所当然的是读写负载均衡。此外,他还是一个分布式实时文档

Ghost_02的博客 1万+
上一篇: discovery.zen.minimum_master_nodes深度解析
下一篇: 如何备份ElasticSearch索引数据到HDFS上
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值