精华内容
下载资源
问答
  • elasticsearch查询某个索引分片信息

    万次阅读 2019-10-30 14:19:53
    elasticsearch6.8 ...通过下面的路径可以查询elasticsearch某个索引分片信息 http://xx.xx.xx.xx:9200/索引名称/_search_shards { "nodes": { "Q6i1duFYQLmJFIu812DQjQ": { "name": "node1", "ephemera...

    elasticsearch6.8

    通过下面的路径可以查询elasticsearch某个索引分片信息

    http://xx.xx.xx.xx:9200/索引名称/_search_shards

    {
        "nodes": {
            "Q6i1duFYQLmJFIu812DQjQ": {
                "name": "node1",
                "ephemeral_id": "Zaxg4gF1QweERCnY63t1fA",
                "transport_address": "172.26.0.4:9300",
                "attributes": {
                    "ml.machine_memory": "5312626688",
                    "ml.max_open_jobs": "20",
                    "xpack.installed": "true",
                    "ml.enabled": "true"
                }
            },
            "eGOZucwVSqSlivu7U4M15A": {
                "name": "node2",
                "ephemeral_id": "s6BOw2weR_CWJqIB9t8nxg",
                "transport_address": "172.26.0.3:9302",
                "attributes": {
                    "ml.machine_memory": "5312626688",
                    "ml.max_open_jobs": "20",
                    "xpack.installed": "true",
                    "ml.enabled": "true"
                }
            }
        },
        "indices": {
            "elk-nginx-20191029": {}
        },
        "shards": [
            [
                {
                    "state": "STARTED",
                    "primary": true,
                    "node": "Q6i1duFYQLmJFIu812DQjQ",
                    "relocating_node": null,
                    "shard": 0,
                    "index": "elk-nginx-20191029",
                    "allocation_id": {
                        "id": "hVy0KVIbSdSC7aitI453_A"
                    }
                },
                {
                    "state": "STARTED",
                    "primary": false,
                    "node": "eGOZucwVSqSlivu7U4M15A",
                    "relocating_node": null,
                    "shard": 0,
                    "index": "elk-nginx-20191029",
                    "allocation_id": {
                        "id": "1LEnZTSMQLmLC8-FXUMW4g"
                    }
                }
            ],
            [
                {
                    "state": "STARTED",
                    "primary": true,
                    "node": "eGOZucwVSqSlivu7U4M15A",
                    "relocating_node": null,
                    "shard": 1,
                    "index": "elk-nginx-20191029",
                    "allocation_id": {
                        "id": "pieh1viPT56eXlkZ7Ki4xg"
                    }
                },
                {
                    "state": "STARTED",
                    "primary": false,
                    "node": "Q6i1duFYQLmJFIu812DQjQ",
                    "relocating_node": null,
                    "shard": 1,
                    "index": "elk-nginx-20191029",
                    "allocation_id": {
                        "id": "0jTTLcL5T0in8_IHDSl4Yw"
                    }
                }
            ],
            [
                {
                    "state": "STARTED",
                    "primary": true,
                    "node": "Q6i1duFYQLmJFIu812DQjQ",
                    "relocating_node": null,
                    "shard": 2,
                    "index": "elk-nginx-20191029",
                    "allocation_id": {
                        "id": "OpQ5KMPQQRKPN3IoGfjaaQ"
                    }
                },
                {
                    "state": "STARTED",
                    "primary": false,
                    "node": "eGOZucwVSqSlivu7U4M15A",
                    "relocating_node": null,
                    "shard": 2,
                    "index": "elk-nginx-20191029",
                    "allocation_id": {
                        "id": "qNkggEgoRsSHsli4pgeoXw"
                    }
                }
            ],
            [
                {
                    "state": "STARTED",
                    "primary": false,
                    "node": "Q6i1duFYQLmJFIu812DQjQ",
                    "relocating_node": null,
                    "shard": 3,
                    "index": "elk-nginx-20191029",
                    "allocation_id": {
                        "id": "ag9IdGs6QrO4489j4eY1Vg"
                    }
                },
                {
                    "state": "STARTED",
                    "primary": true,
                    "node": "eGOZucwVSqSlivu7U4M15A",
                    "relocating_node": null,
                    "shard": 3,
                    "index": "elk-nginx-20191029",
                    "allocation_id": {
                        "id": "wnZSVqEkSgK3AC0Y6dVwfQ"
                    }
                }
            ],
            [
                {
                    "state": "STARTED",
                    "primary": false,
                    "node": "eGOZucwVSqSlivu7U4M15A",
                    "relocating_node": null,
                    "shard": 4,
                    "index": "elk-nginx-20191029",
                    "allocation_id": {
                        "id": "nCJp71GST96W5kK-JQK6mw"
                    }
                },
                {
                    "state": "STARTED",          //分片状态
                    "primary": true,                  //是否是主分片
                    "node": "Q6i1duFYQLmJFIu812DQjQ",          //所在elasticsearch节点
                    "relocating_node": null,
                    "shard": 4,                                                //分片号
                    "index": "elk-nginx-20191029",                 //索引名字
                    "allocation_id": {
                        "id": "rjY1Y3S7So-jZMhq6YmJ3w"
                    }
                }
            ]
        ]
    }

    nodes为该索引所在的所有elasticsearch实例,shards为该索引对应分片信息

     

    PS:对应elasticsearch官网地址https://www.elastic.co/guide/en/elasticsearch/reference/6.8/search-shards.html,把6.8切换为自身使用elasticsearch版本即可。

    展开全文
  • Elasticsearch的节点与分

    千次阅读 2021-11-28 20:33:45
    但只有Master节点才能修改集群的状态信息,主节点主要负责集群方面的轻量级的动作,比如:创建或删除索引,跟踪集群中的节点,决定分分配到哪一个节点,在集群再平衡的过程中,如何在节点间移动数据等。...

    前面了解了Elasticsearch能够做什么,接下来我们将见识Elasticsearch另一个很强的扩展能力,也就是Elasticsearch如何能够处理更多的索引和搜索请求,或者是更快地处理索引和搜索请求。在处理百万级甚至数十亿级的文档时,扩展性是一个非常重要的因素。 没有了某种形式的扩展,在单一的Elasticsearch运行实例或节点上就无法一直支持规模持续增大的流量。

    Elaticsearch很容易扩展。所以我们来了解Elasticsearch所拥有的扩展能力,以及如何使用这些特性来给予Elasticsearch 更多的性能、更多的可靠性。

    节点和分片

    为了有个全局的理解,我们首先要知道Elasticsearch索引创建的时候,究竟发生了什么,理解数据在物理是如何上组织的?

    默认情况下,每个索引由5个主要分片组成,而每份主要分片又有一个副本,一共10份分片。副本分片对于可靠性和搜索性能很有益处。技术上而言,一份分片是一个目录中的文件,Lucene用这些文件存储索引数据。分片也是Elasticsearch 将数据从一个节点迁移到另一个节点的最小单位。

    一个节点是一个Elasticsearch的实例。在服务器上启动Elasticsearch之后,你就拥有了一个节点。如果在另一台服务器上启动Elasticsearch, 这就是另一个节点。甚至可以通过启动多个Elasticsearch进程,在同一台服务器上拥有多个节点。

    多个节点可以加入同一个集群。在多节点的集群上,同样的数据可以在多台服务器上传播。这有助于性能,因为Elasticsearch有了更多的资源;这同样有助于稳定性,如果每份分片至少有1个副本分片,那么任何一个节点都可以宕机,而Elasticsearch依然可以进行服务,并返回所有数据。

    对于使用Elasticsearch的应用程序,集群中有1个还是多个节点都是透明的。默认情况下,可以连接集群中的任一节点并访问完整的数据集,就好像集群只有单独的一个节点。

    Elasticsearch索引和Lucene索引的对比

    一个分片就是一个Lucene的索引,也就是一个包含倒排索引的文件目录。它默认存储原始文档的内容,再加上一些额外的信息,如词条字典和词频,这些都能帮助到搜索。词条字典将每个词条和包含该词条的文档映射起来。搜索的时候,Elastisearch没有必要为了某个词条扫描所有的文档,而是根据这个字典快速地识别匹配的文档。

    Elasticsearch索引被分解为多块:分片。所以一个Elasticsearch的索引由多个Lucene的索引组成。

    词频使得Elasticsearch可以快速地获取某篇文档中某个词条出现的次数。这对于计算结果的相关性得分非常重要。例如,如果搜索“morris",包含多个“morris”的文档通常更为相关。Elasticsearch将给它们更高的得分,让它们出现在结果列表的更前面。

    ES中的节点类型

    Master-eligible nodes与 Master node

    每个节点启动后,默认就是一个Master eligible节点,可以通过设置node.master:false来改变,Master-eligible节点可以参加选主流程,成为Master节点,每个节点都保存了集群的状态,但只有Master节点才能修改集群的状态信息,主节点主要负责集群方面的轻量级的动作,比如:创建或删除索引,跟踪集群中的节点,决定分片分配到哪一个节点,在集群再平衡的过程中,如何在节点间移动数据等。

    Data Node

    可以保存数据的节点,叫做Data Node。负责保存分片数据。在数据扩展上起到了至关重要的作用,每个节点启动后,默认就是一个Data Node节点,可以通过设置node.data:false来改变。

    Ingest Node

    可以在文档建立索引之前设置一些ingest pipeline的预处理逻辑,来丰富和转换文档。每个节点默认启动就是Ingest Node,可用通过node.ingest:false来禁用。

    Coordinating Node

    Coordinating Node负责接收Client的请求,将请求分发到合适的节点,最终把结果汇集到一起,每个节点默认都起到了 Coordinating Node的职责,当然如果把Master、Data、Ingest全部禁用,那这个节点就仅是Coordinating Node节点了。

    Machine Learning Node

    用于机器学习处理的节点。

    主分片和副本分片

    分片可以是主分片,也可以是副本分片,其中副本分片是主分片的完整副本,副本分片可以用于搜索,或者是在原有主分片丢失后成为新的主分片。写过程先写主分片,成功后再写副分片。

    Elasticsearch索引由一个或多个主分片以及零个或多个副本分片构成。副本分片可以在运行的时候进行添加和移除,而主分片不可以。

    可以在任何时候改变每个分片的副本分片的数量,因为副本分片总是可以被创建和移除。这并不适用于索引划分为主分片的数量,在创建索引之前,你必须决定主分片的数量。请记住,过少的分片将限制可扩展性,但是过多的分片会影响性能。默认设置主分片的数量是5份。

    索引主分片的设置:

    put test1
    {
      "settings": {
        "index.number_of_shards": 3,
        "index.codec": "best_compression"
      }
    }
    输出结果:
    {
      "acknowledged" : true,
      "shards_acknowledged" : true,
      "index" : "test1"
    }
    
    get test1/_settings
    输出结果:
    {
      "test1" : {
        "settings" : {
          "index" : {
            "codec" : "best_compression",
            "number_of_shards" : "3",
            "provided_name" : "test1",
            "creation_date" : "1637409687711",
            "number_of_replicas" : "1",
            "uuid" : "GnRgeIHeTzy8yaUianvD0g",
            "version" : {
              "created" : "7040099"
            }
          }
        }
      }
    }
    

    索引副本分片的设置:

    put test1/_settings
    {
      "index.number_of_replicas": 2
    }
    输出结果:
    {
      "acknowledged" : true
    }
    
    get test1/_settings
    输出结果:
    {
      "test1" : {
        "settings" : {
          "index" : {
            "codec" : "best_compression",
            "number_of_shards" : "3",
            "provided_name" : "test1",
            "creation_date" : "1637409687711",
            "number_of_replicas" : "2",
            "uuid" : "GnRgeIHeTzy8yaUianvD0g",
            "version" : {
              "created" : "7040099"
            }
          }
        }
      }
    }
    

    集群的扩展

    水平扩展:最简单的Elasticsearch集群只有一个节点:一台机器运行着一个Elasticsearch进程。我们安装并启动了 Elasticsearch之后,就已经建立了一个拥有单节点的集群。随着越来越多的节点被添加到同一个集群中,现有的分片将在
    所有的节点中自动进行负载均衡。因此,在那些分片上的索引和搜索请求都可以从额外增加的节点中获益。以这种方式进行扩展(在节点中加入更多节点)被称为水平扩展。此方式增加更多节点,然后请求被分发到这些节点上,工作负载就被分摊了。

    垂直扩展:这种方式主要通过为Elasticsearch的节点增加更多硬件资源,可能是为虚拟机分配更多处理器,或是为物理机增加更多的内存。尽管垂直扩展几乎每次都能提升性能,它并非总是可行的或经济的。

    索引一个文档的过程

    默认情况下,当索引一篇文档的时候,系统首先根据文档ID的散列值选择一个主分片,并将文档发送到该主分片。这份主分片可能位于另一个节点,不过对于应用程序这一点是透明的。

    默认地,文档在分片中均匀分布:对于每篇文档,分片是通过其ID字符串的散列决定的。每份分片拥有相同的散列范围,接收新文档的机会均等。一旦目标主分片确定,接受请求的节点将文档转发到该主分片所在的节点。随后,索引操作在该主分片的所有副本分片中进行。在所有可用副本分片完成文档的索引后,索引命令就会成功返回。这使得副本分片和主分片之间保持数据的同步。数据同步使得副本分片可以服务于搜索请求,并在原有主分片无法访问时自动升级为主分片。

    搜索索引的过程

    当搜索一个索引时,Elasticsearch需要在该索引的完整分片集合中进行查找。这些分片可以是主分片,也可以是副本分片,原因是对应的主分片和副本分片通常包含一样的文档。Elasticsearch在索引的主分片和副本分片中进行搜索请求的
    负载均衡,使得副本分片对于搜索性能和容错都有所帮助。

    在搜索的时候,接受请求的节点将请求转发到一组包含所有数据的分片。Elasticsearch使用round-robin的轮询机制选择可用的分片(主分片或副本分片),并将搜索请求转发过去,Elasticsearch然后从这些分片收集结果,将其聚集为单一的回复, 然后将回复返回给客户端应用程序。在默认情况下,搜索请求通过round-robin轮询机制选中主分片和副本分片。

    展开全文
  • 报文

    千次阅读 2016-05-31 20:12:11
    模块按照SIP+DIP+ID号+PROTO转发。前中后三必须ID号一致,协议一致。1.分配置如下:偏移位:0;字节为838;2.中片配置如下:偏移位:100;*8为800;字节为838;3.尾配置如下:偏移位:200;*8为1600;...
    分片模块按照SIP+DIP+ID号+PROTO转发。
    前中后三片必须ID号一致,协议一致。
    1.分片首片配置如下:
    偏移位:0;字节为838;



    2.中片配置如下:
    偏移位:100;*8为800;字节为838;



    3.尾片配置如下:
    偏移位:200;*8为1600;字节小于838即可;



    展开全文
  • ES状态查看:/_cat/shards节点分片信息

    千次阅读 2021-04-13 15:04:47
    1 index:所有名称 shard:分数 prirep:分类型,p=pri=primary为主分,r=rep=replicas为复制分 state:分状态,STARTED为正常分,INITIALIZING为异常分 docs:记录数 store:存储大小 ip:es节点ip ...

    请求

    GET http://127.0.0.1:9200/_cat/shards?v

    结果

    index                                             shard prirep state   docs  store ip           node
    sw_endpoint_traffic-20210413                      0     r      STARTED    0   208b 172.16.26.83 node-2
    sw_browser_error_log-20210413                     3     p      STARTED    0   208b 172.16.26.83 node-2
    sw_browser_error_log-20210413                     1     p      STARTED    0   208b 172.16.26.82 node-1
    sw_browser_error_log-20210413                     2     p      STARTED    0   208b 172.16.26.84 node-3
    sw_browser_error_log-20210413                     4     p      STARTED    0   208b 172.16.26.82 node-1
    • index:所有名称
    • shard:分片数
    • prirep:分片类型,p=pri=primary为主分片,r=rep=replicas为复制分片
    • state:分片状态,STARTED为正常分片,INITIALIZING为异常分片
    • docs:记录数
    • store:存储大小
    • ip:es节点ip
    • node:es节点名称
    展开全文
  • Mongodb分 1. 分(sharding)是指将数据拆分,将其分散存放在不同的机器上的过程。有时也用分区(partitioning)来表示这个概念。将数据分散到不同的机器上,不需要功能强大的大型计算机就可以  存储更多的...
  • Redis集群数据分机制说明

    千次阅读 2020-03-24 15:53:15
    为了使得集群能够水平扩展,首要解决的问题就是如何将整个数据集按照一定的规则分配到多个节点上,常用的数据分的方法有:范围分,哈希分,一致性哈希算法和虚拟哈希槽等。 范围分假设数据集是有序,将顺序...
  • 跟我学ShardingSphere之数据分策略

    万次阅读 2021-09-02 21:45:47
    跟我学ShardingSphere之数据分策略
  • Mysql Cluster does sharding (evenly distributes the data between data nodes) + replication ( every fragment of data stored twice). So simple table like, | test | CREATE TABLE `test` ( ...
  • 千次阅读 2017-11-26 21:19:36
    MyCat分-海量数据存储解决方案1 什么是分简单来说,就是指通过某种特定的条件,将我们存放在同一个数据库中的数据分散存放到多个数据库(主机)上面,以达到分散单台设备负载的效果。 数据的切分(Sharding)...
  • 闲谈IPv6-IPv6的分(IPv6 Fragment)

    万次阅读 多人点赞 2019-03-09 08:36:30
    熟悉IPv4的肯定知道IP分这个特性,它在某种意义上让应用程序忘记了数据包还有大小这个属性,也就是说,应用程序可以发送小于IP头规定的最长65535字节的任意大小的数据包。 IPv4严格采纳分层模型,让路径MTU这种事...
  • 查看集群信息(索引分,副本数,创建时间等信息):curl -XGET "http://127.0.0.1:9200/index1-mdl/_settings?pretty" java实现方式 public Map<String,...
  • clickhouse 分

    千次阅读 2019-12-19 21:22:00
    我们知道mysql数据库如果想做分,需要使用第三方组件,这是因为mysql在设计之初就没有太多考虑分布式等问题。而clickhouse作为新生代性能之王,分也是必须的功能。基本上从2015年之后的各种数据库也罢,框架也罢...
  • 制作和下发卫执法图斑

    千次阅读 2020-12-29 09:05:59
    原标题:制作和下发卫执法图斑 (刘浩军 摄)土地卫执法图斑中国国土勘测规划院(以下简称规划院)利用2018 年度和2019 年度土地变更调查遥感监测成果,提取变化信息后,逐图斑截取包含变化图斑局部范围的前、后时相...
  • 数据库分(Database Sharding)详解

    万次阅读 2019-04-20 06:52:00
    Introduction 导言 任何看到显著增长的应用程序或网站,最终都需要进行扩展,以适应流量的增加。以确保数据安全性和完整性的方式进行...在这篇概念性文章中,我们将讨论一种“可动态扩展的”数据库架构:分数据...
  • IP协议协议--IP分

    万次阅读 2017-11-20 18:11:25
    《Linux高性能服务器编程》阅读笔记:1. IP分的概念  如图,当IP数据报超过帧的MTU(最大传输单元)时,它将会被分传输。...  一个IP数据报的每个分都具有自己的IP头部信息,它们都具有相同的标识值,但是
  • IP分详解

    万次阅读 2016-12-08 10:33:54
    IP分是网络上传输IP报文的一种技术手段。IP协议在传输数据包时,将数据报文分为若干分进行传输,并在目标系统中进行重组。 不同的链路类型规定有不同最大长度的链路层数据帧,称为链路层MTU(最大传输单元)。...
  • 本文将重点分析ElasticJob的分机制: ElasticJob分工作机制: 1、ElasticJob在启动时,首先会启动是否需要重新分的...2、任务执行之前需要获取分片信息,如果需要重新分,主服务器执行分算法,其他从...
  • 查看分键 MongoDB会把分过的集合保存在config.collection集合中,若需要查看分键,则需要根据该集合进行查找。官方的其他很多分快捷命令...这种办法可以查看分信息 db.collections.find({$and: [ ...
  • 首先我们要移除的分之后再次添加此分时会出现添加失败的情况,需要在添加的分上登录进行删除此分之前数据库的历史数据比如testdb,删除分上的数据库之后就可重新添加此分到mongos中 1、...
  • 一、分与副本设置 1、分(shard) Elasticsearch集群允许系统存储的数据量超过单机容量,实现这一目标引入分策略shard。在一个索引index中,数据(document)被分处理(sharding)到多个分上。Elastic...
  • 服务层分——RDB 分新思路

    万次阅读 2019-04-19 09:46:14
    目前国内流行的开源数据库分实现都基于 SQL 的改写、分发与结果归并。但这种实现存在一些无法避免的缺陷,本文试图说明白这些缺陷的由来及提供一个传统数据库分实现的新思路。 流行分框架实现分析 目前国内...
  • 当我们在使用shard key切分时,默认是Mongos自动分,自动设定切分规则。但是我们也可以手动指定分规则。在后面的一篇博客《MongoDB4.0 Sharded Cluster+Replica Set集群搭建》详细介绍了MongoDB集群的搭建方法,...
  • 一 定义时间轮转算法是将所有的就绪进程按先来先服务的原则,排成一个队列,按时间轮转。时间的大小从几ms到几百ms。当执行的时间用完时,由一个计时器发出时钟中断请求,调度程序便据此信号来停止该进程的...
  • 文件分上传【前端】

    千次阅读 2019-09-30 11:30:31
    上传功能是将一个文件切割为一系列特定大小的小数据,分别将这些小数据分别上传到服务端,全部上传完后再由服务端将这些小数据合并成为一个完整的资源。在上传过程中一旦遭受外部因素导致的上传中断,在...
  • mongodb分

    千次阅读 2020-02-03 14:00:08
    什么是mongodb分,有什么作用? mongodb分就是将大型集合分割到不同的服务器上,它可以自动且均衡的分配数据。它一般是针对特别大的需求,比如一个集合需要非常的大,几百个G。分到10个服务器之后,每个...
  • 和你聊聊如何搭建redis分集群

    千次阅读 2018-04-03 17:13:56
    摘要:我发现,凡是涉及到大数据存储,好像都得有个横向扩容方案,不管是在应用层实现,还是在数据存储本身实现。Redis作为一个高效的数据缓存,也周到的提供了数据sharding特性,本文就先讲下...所谓数据分,就是...
  • Wireshark捕获IP报文——分与不分

    千次阅读 2020-12-31 00:24:46
    Wireshark捕获IP报文——分与不分Wireshark操作一、观察不分标志对较短IP报文传输的影响Windows命令行提示窗口Wireshark二、观察不分标志位对较长IP报文传输的影响Windows命令行提示窗口三、将IP报文分...
  • MongoDB主从集群、副本集与分

    万次阅读 2018-09-23 19:14:05
    有时候当数据库中的数据量很大的时候,一台服务器无法存储,这时我们需要扩展多台机器来存储我们的数据,这时需要用到MongoDB的分操作。 转发请标明原文地址:【原文链接】 一、主从复制 对于主从复制的原理,...
  • IP分报文的接收与重组

    万次阅读 2018-09-12 23:30:03
    对于长度超过接口MTU的数据包,需要进行分处理,IP报头中与分相关的字段有如下几个: Identification - 用来确认不同的分是否属于同一个IP报文; Flags - 其中IP_MF表示还有分,此分为中间分; ...
  • 如何扩展以太坊:分原理解释

    千次阅读 2019-05-12 08:58:14
    关于校对块所对应的分片信息(比如分10) 在所有交易生效前,相关分的最新状态信息 在应用所有交易后,分将变成的状态 来自分上占所有校对器数量 2/3 的校对器数字签名,确认校对块是合法的。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 533,390
精华内容 213,356
关键字:

信息片