网站首页 > 开源技术 正文
一、节点类型
master节点
- 索引的创建或删除
- 跟踪哪些节点是集群的一部分
- 决定把那些分片分配给相关的节点
data节点(数据节点)
- 存储索引数据
- 对文档进行增删改查,聚合操作
client节点(客户端节点/路由节点)
- 处理路由请求
- 处理搜索
- 分发索引
部落节点
- 部落节点可以跨越多个集群,它可以接收每个集群的状态,然后合并成一个全局集群的状态,它可以读写所有节点上的数据
Ingest节点(提取节点)
- Ingest节点和集群中的其他节点一样,但是它能够创建多个处理器管道,用以修改传入文档。类似 最常用的Logstash过滤器已被实现为处理器。
- Ingest节点 可用于执行常见的数据转换和丰富。 处理器配置为形成管道。 在写入时,Ingest Node有20个内置处理器,例如grok,date,gsub,小写/大写,删除和重命名
- 在批量请求或索引操作之前,Ingest节点拦截请求,并对文档进行处理。
ES集群的元数据
集群节点、索引、索引的映射和配置、索引的分片和节点的对应关系、shard的in-sync副本集合;
ES的写入和读取的简单流程
document都有一个id,要不然是你分配的,要不然他内置自动分配的,一般来说都是你自己分配的,可以是订单id,用户id,在随机选择一个协调节点,协调节点拥有集群里所有的元数据,在能根据id哈希路由到其中一个shard上面进行写入;
搜索时根据id路由至shard,在可以从主shard或者副本shard去读取,一般会去现在副本shard,因为主shard一般要承载大量写请求;
如果写入或者读取的时候主分片有问题,会通知master将副本分片提升成主分片,再选择一个其他节点重新分配一个副本节点,如果是副本分片有问题则直接分配一个副本分片进行同步;
查询ES某个索引分片信息
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", //所在elasticsearch节点
"relocating_node": null,
"shard": 0, //分片号
"index": "elk-nginx-20191029", //索引名字
"allocation_id": {
"id": "hVy0KVIbSdSC7aitI453_A"
}
},
{
"state": "undefined",
"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"
}
}
]
]
}
猜你喜欢
- 2024-11-07 如何将kibana的dashboard集成到自有系统中
- 2024-11-07 集群分布式下日志架构的搭建(集群日志管理)
- 2024-11-07 Elasticsearch算分优化方案之rescore_query
- 2024-11-07 Elasticsearch 三板斧之 Elasticsearch 安装
- 2024-11-07 最新JumpServer未授权访问漏洞(CVE-2023-42442)分析
- 2024-11-07 Spring Boot搭建 ELK,这才是正确看日志的方式
- 2024-11-07 大量使用 items_per_inner_pack 和 inner_packs_per_master_pack
- 2024-11-07 Kibana(一张图片胜过千万行日志)——转
- 2024-11-07 解决Elasticsearch集群开启账户密码安全配置自相矛盾的坑
- 2024-11-07 x-pack-sql-jdbc 发布后提示版本不兼容
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)