黑龙江省建设集团网站,设计本和游戏本的区别,石景山网站建设公司哪个好,怎样做免费网站建设目录
1.与集群有关的一些概念
2.集群搭建
3.集群搭建
4.kibana链接集群
5.选举流程
6.请求流程
7.master的作用 1.与集群有关的一些概念
数据分片#xff1a;
数据分片#xff08;shard#xff09;#xff0c;单台服务器的存储容量是有限的#xff0c;把一份数据… 目录
1.与集群有关的一些概念
2.集群搭建
3.集群搭建
4.kibana链接集群
5.选举流程
6.请求流程
7.master的作用 1.与集群有关的一些概念
数据分片
数据分片shard单台服务器的存储容量是有限的把一份数据切分成很多份每一份存储到不同的节点上去从而减少单台的压力。
数据副本:
数据副本replica在分布式集群中如果不做备份单点故障会硬气数据丢失应对办法是将一份数据复制成很多份一份就是一个副本将副本存储到不同的节点上去。
es在创建索引的时候会指定每个索引的数据分片喝数据副本各自的数量
put /yx
{settings:{number_of_shards: 3,//分片数numbser_of_replicas: 1//副本数}
}
2.集群搭建
集群规划
cluster name集群名称同一集群下所有node的cluster name要相同。
Node Namecluster nameiphttptcpnode-01yx-elastic127.0.0.192019301node-02yx-elastic127.0.0.192029302node-03yx-elastic127.0.0.192039303
3.集群搭建
elasticsearch.yml:
三个节点的区别只在于node.name、数据路径、日志路径、http端口、tcp端口不同其它都相同此处以node-01为例。 #允许跨名访问
http.cors.enabled: true
#当设置允许跨域默认为 表示支持所有域名
http.cors.allow-origin: *
#允许所有节点访问
network.host: 0.0.0.0
#集群的名称同一个集群下所有节点的集群名称应该一致
cluster.name: yx-elasticsearch
#当前节点名称 每个节点不一样
node.name: node-01
#数据的存放路径每个节点不一样不同es 服务器对应的data和log存储的路径不能一样
path.data: D:\es\elasticsearch-9301\data
#日志的存放路径
path.logs: D:\es\elasticsearch-9301\logs
#HTTP协议的对外端口每个节点不一样默认: 9200
http.port: 9201
#TCP协议对外端口 每个节点不一样默认: 9300
transport.tcp.port: 9301
#三个节点相互发现包含自己使用TCP协议的端口号
discovery.zen.ping.unicast.hosts: [127.0.0.1:9301,127.0.0.1:9302,127.0.0.1:9303]
#声明大于几个的投票主节点有效设置为(nodes / 2) 1
discovery.zen.minimum_master_nodes: 2
#是否为主节点
node.master: true 4.kibana链接集群
kibana.yml: elasticsearch.hosts: [http://localhost:9201] 5.选举流程 Zen Discovery 进程ES的每个节点都有一个Zen Discovery 组件这个组件会启动一个Zen Discovery 进程这个组件是集成在ES中的代码逻辑它用于记录全局节点的信息管理集群中节点的发现、加入、离开以及主节点选举。也就是说每个ES节点上都存着一份全局节点的信息。 启动阶段 当一个节点Node启动时它会加入集群并尝试与其他节点建立连接。这个节点会发送一个 join 请求广播给当前集群中的所有节点。这个请求包含了节点的信息比如节点的ID、地址和端口等。 选举过程 首先是master节点的候选资格 在 Elasticsearch 集群中有一些节点被标记为 master-eligible 节点这表示它们有资格成为主节点。这些节点在配置文件中的 node.master 属性为 true。 接下来是选举过程 一旦有足够的主节点候选节点发现彼此并形成了一个集群它们就会开始主节点选举的过程。这个过程需要多数大多数的主节点候选节点在线并参与选举这也被称为“法定人数”Quorum。“法定人数”是为了避免脑裂split-brain情况Elasticsearch要求一个法定人数的同意才能选举出一个新的主节点。在旧版本中如7.x及以前这是通过discovery.zen.minimum_master_nodes设置来配置的它通常设置为(master-eligible nodes / 2) 1。在更高版本中这个设置已经被内置的选举机制替代不需要手动配置。选举过程中采用节点之间相互投票的机制选举出主节点来 节点在决定给哪个节点投票时会考虑多个因素包括节点的健康状况、网络稳定性、集群状态的完整性以及节点的历史记录等。 故障检测 Zen Discovery 使用故障检测机制来确定节点是否可用。节点之间相互发送 Ping 和 Pong 消息以检测对方的状态。如果一个节点在一定时间内没有响应它被认为是不可用的。一旦出现master节点不可用的状态集群将会开启重新选举。需要进行重新选举的时候要是发现集群存货人数已经不及法定人数那么集群将会对外拒绝服务。 持久化 主节点的信息会被持久化存储以便在节点重启后集群能够快速地恢复到之前的状态。
6.请求流程
写请求处理流程如索引或更新文档 接收请求 写请求可以发送到集群中的任何节点。该节点成为请求的协调节点。 确定主分片 协调节点根据文档的ID和索引元数据来决定哪个主分片负责处理该文档。这通常是通过哈希文档ID来完成的。 转发请求 协调节点将请求转发到托管该主分片的节点。 处理和复制 主分片节点处理写请求如索引或更新文档然后将相同的操作复制到所有对应的副本分片。 确认和响应 一旦主分片和所有必要的副本分片成功处理了请求协调节点向客户端发送成功响应。
读请求处理流程如搜索或获取文档 接收请求 读请求可以发送到集群中的任何节点。该节点成为请求的协调节点。 确定分片位置 对于文档获取请求协调节点会计算出哪个主分片或副本分片拥有该文档。对于搜索请求协调节点确定要查询的所有相关分片。 查询分片 协调节点并行地向那些托管相关分片的节点发送请求。读请求可以由主分片或任何副本分片来处理。 汇总结果 对于搜索请求协调节点从所有查询的分片收集结果合并成一个全局的搜索结果。 响应客户端 最终的结果被发送回给客户端。
7.master的作用
在Elasticsearch中每个节点都维护着关于集群状态的本地副本这包括了分片的分配和位置信息。这意味着协调节点通常能够独立地确定请求应该路由到哪个节点上而不需要每次都查询主节点。那主节点的作用是什么喃
主节点Master Node在Elasticsearch集群中扮演着关键的管理和协调角色。以下是主节点在集群中的主要职责和功能 集群管理 主节点负责整个集群的管理任务。这包括集群的创建、配置、状态监控以及集群范围内的一些操作。 节点协调 主节点负责协调集群中的所有节点。它会与其他节点通信确保集群中的每个节点都处于活动状态同时负责监控节点的健康状况。 分片分配 主节点负责决定每个分片Shard应该分配到集群中的哪个节点上。它会在节点加入或离开集群时重新分配分片以保持集群的均衡和高可用性。 主节点选举 如果当前的主节点出现故障或不可用集群中的其他节点会通过选举机制选择一个新的主节点。主节点选举确保了即使主节点出现问题集群也能够继续正常运行。 索引创建和删除 主节点负责处理索引的创建和删除请求。当索引被创建时主节点会决定每个分片应该在哪个节点上创建。 集群状态维护 主节点维护着关于整个集群的状态信息包括节点的健康状况、集群设置、索引元数据等。这些信息对于集群的正常运行非常重要。 路由请求 主节点在协助客户端请求路由时发挥作用。虽然数据的实际读写操作是在数据节点上进行的但主节点负责确定数据分布和分片的位置从而协助请求的有效路由。 集群级别的操作 主节点可以执行一些集群级别的操作例如创建和删除索引、更新集群的设置、执行全局搜索等。