ElasticSearch之分布式模型介绍,选主,脑裂

写在前面

本文看下es分布式模型相关内容。

1:分布式模型

1.1:分布式特征

支持水平扩展,可以存储PB级别数据,每个就能都有自己唯一的名称,默认名称时elasticsearch,可以通过配置文件,如cluster.name: my-application,修改,或者时在启动命令中指定,如-E cluster.name=xxxx

1.2:节点的类型

一个es集群的节点可以同时拥有多个类型。
在这里插入图片描述

1.2.1:corordinating node

这种类型的节点可以负责处理请求,并将请求路由的正确的节点,例如创建index的请求,就会路由到master节点。节点默认就是该类型的节点,

1.2.2:data node

负责保存分片数据的节点,节点启动默认就是该类型节点,通过设置node.data: false禁止。通过增加data node可以解决数据的水平扩展和数据单点的问题。

需要注意:数据的分片如何在data node上分布式,是由master node决定的。

1.2.3:master node

集群的主节点,职责如下:

1:创建,删除索引
2:决定索引的数据分片分配到哪个节点

最佳实践:为一个集群设置多个maser 节点,每个master 节点只承担单一角色???

1.2.4:master eligible node

有资格在master节点故障时,通过选举成为新master node的节点,一个集群中可配置多个该类型的节点。

启动时,默认就是就是master eligible node,通过node.master: false来禁止。

当集群中第一个master eligible节点启动的时候会将自己选举成为master节点。

2:选主流程

参考:
在这里插入图片描述

3:脑裂

脑裂一般是因为网络故障导致一个集群因为网络隔离,成为2个独立的集群,并各自选举产生自己的master node,
在这里插入图片描述

从而出现这种情况会造成数据的不可恢复的问题。想要避免脑裂问题,在7之前可通过如下设置控制不会产生两个master node:
在这里插入图片描述
在7后版本不需要做任何设置,es已提供必要检测来避免脑裂。

4:例子

4.1:准备工作

  • 安装cerebro
    在这里 下载,其中tgz在linux安装,zip在win安装。以linux为例,下载后,解压,然后进入bin目录执行./cerebro即可:
[root@localhost bin]# ./cerebro
[info] play.api.Play - Application started (Prod) (no global state)
[info] p.c.s.AkkaHttpServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000
  • es
    参考这篇文章 。

4.2:正戏

我们首先来启动第一个es实例:

bin/elasticsearch -E node.name=xiaohengnode1 -E cluster.name=xiaoheng -E path.data=xiaoheng0_data -E http.port=9200 -E transport.port=9300

在cerebro查看:
在这里插入图片描述

在这里插入图片描述
接着创建索引,指定3个分片,一个副本:
在这里插入图片描述
创建后:
在这里插入图片描述
想要黄变绿,只需要让没有分配的副本得到分配就行了,所以需要再来启动一个新节点,如下:

bin/elasticsearch -E node.name=xiaohengnode2 -E cluster.name=xiaoheng -E path.data=xiaoheng1_data -E http.port=9201

然后就变绿了:
在这里插入图片描述

写在后面

参考文章列表

ElasticSearch之安装和简单配置 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/720477.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PowerBI怎么修改数据库密码

第一步:点击转换数据 第二步:点击数据源设置 第三步:点击编辑权限 第四步:点击编辑 第五步:输入正要修改的密码就可以了

STM32启动过程及反汇编

STM32从Flash启动的过程,主要是从上电复位到main函数的过程,主要有以下步骤: 1.初始化堆栈指针 SP_initial_sp,初始化 PC 指针Reset_Handler 2.初始化中断向量表 3.配置系统时钟 4.调用 C 库函数_main 初始化用户堆栈&#xf…

SAP HANA中PAL算法使用入门

1 应用场合 SAP HANA作为一款内存数据库产品, 使得数据常驻内存, 物理磁盘的存储作为数据备份与日志记录, 以防断电内存中数据丢失. 这种构架大大的缩短了数据存取的时间, 使得SAP HANA很”高速”. 在传统数据模型中,数据库只是作为存取数据一个工具,对于类似下图所示的应用, 客…

星瑞格数据库管理系统

一. 产品介绍 随着信息化的到来,数据安全成为保障信息化建设的一个关键问题;数据库作为信息化系统的基础软件其自身安全以及对数据的保障是至关重要。现阶段国内重要部门的信息系统存放着大量敏感数据,为了保障其数据的安全性,使用…

11、电源管理入门之Regulator驱动

目录 1. Regulator驱动是什么? 2. Regulator框架介绍 2.1 regulator consumer 2.2 regulator core 2.3 regulator driver 3. DTS配置文件及初始化 4. 运行时调用 5. Consumer API 5.1 Consumer Regulator Access (static & dynamic drivers) 5.2 Regulator Outp…

基于springboot+vue的美食烹饪互动平台

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

Tomcat+Nginx的动静分离

1.反向代理多机 实验:Nginx要开启upstream(负载均衡)、location(url链接)、proxy_pass(反向代理) 配置:7-3做代理服务器;7-1 和 7-2做Tomcat服务器 关闭防火墙和selinux 1.准备配置 7-3安装nginx;7-1 和 7-2安装Tomcat&#xff…

章鱼网络 Community Call #18|Omnity 将首先支持 Runes 协议资产跨链

香港时间2024年2月8日12点,章鱼网络举行第18期 Community Call。 2024年,我们打开一个良好的局面:$NEAR Restaking 已经完成第三方审计,并且经过几次迭代,进入了正式稳定运行的阶段。更重要的是,我们宣布了…

对话框

1.焦点变更监听器 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-auto"xmlns:tools"http://schem…

appium解锁android真机系统的屏幕

在使用appium进行app自动化操作的过程中&#xff0c;经常遇到的第一个难题就是如何解锁系统屏幕&#xff0c;也就是亮屏解锁。 实际上解决办法如下&#xff1a;在desired_capabilities中增加两个参数unlockType和unlockKey&#xff0c;类似的示例代码如下&#xff1a; desire…

一文弄懂回溯算法(例题详解)

目录 什么是回溯算法&#xff1a; 子集问题&#xff1a; 子集问题II(元素可重复但不可复选): 组合问题&#xff1a; 组合问题II(组合总和): 组合问题III(组合总和II): 排列问题&#xff1a; 排列问题II(元素可重复但不可复选): 排列问题III(元素无重复但可复选): 最后…

electron+vue3全家桶+vite项目搭建【29】封装窗口工具类【3】控制窗口定向移动

文章目录 引入实现效果思路声明通用的定位对象主进程模块渲染进程测试效果 引入 demo项目地址 窗口工具类系列文章&#xff1a; 封装窗口工具类【1】雏形 封装窗口工具类【2】窗口组&#xff0c;维护窗口关系 封装窗口工具类【3】控制窗口定向移动 很多时候&#xff0c;我们想…

【学习心得】网站运行时间轴(爬虫逆向)

一、网站运行时间轴 掌握网站运行时间轴&#xff0c;有助于我们对“请求参数加密”和“响应数据加密”这两种反爬手段的深入理解。 二、从网站运行的时间轴角度来理解两种反爬手段 1、加载HTML&#xff1a; 这是浏览器访问网站时的第一步&#xff0c;服务器会返回基础…

javascrip几种基本的设计模式

单例模式 ES5 function Duck1(name:string){this.namenamethis.instancenull }Duck1.prototype.getNamefunction(){console.log(this.name) }Duck1.getInstancefunction(name:string){if(!this.instance){this.instance new Duck1(name)} } const aDuck1.getInstance(a) const…

【系统架构设计师考试大纲】

曾梦想执剑走天涯&#xff0c;我是程序猿【AK】 目录 简述概要知识图谱考试目标考试要求考试题目题型分析计算机基础知识&#xff08;20%&#xff09;信息化战略与规划&#xff08;9%&#xff09;软件工程&#xff08;25%&#xff09;系统架构设计&#xff08;35%&#xff09;信…

⭐北邮复试刷题2369. 检查数组是否存在有效划分__DP (力扣每日一题)

2369. 检查数组是否存在有效划分 给你一个下标从 0 开始的整数数组 nums &#xff0c;你必须将数组划分为一个或多个 连续 子数组。 如果获得的这些子数组中每个都能满足下述条件 之一 &#xff0c;则可以称其为数组的一种 有效 划分&#xff1a; 子数组 恰 由 2 个相等元素…

初学arp欺骗

首先准备一台靶机这里用虚拟机的win10 已知网关与ip地址&#xff08;怕误伤&#xff09; 现在返回kali从头开始 首先探测自己的网关 然后扫内网存活的ip 发现有3台 用nmap扫一下是哪几台 成功发现我们虚拟机的ip 现在虚拟机可以正常访问网络 接下来直接开梭 ip网关 返回虚拟机…

win11部署自己的privateGpt(2024-0304)

什么是privateGpt? privategpt开源项目地址 https://github.com/imartinez/privateGPT/tree/main 官方文档 https://docs.privategpt.dev/overview/welcome/welcome PrivateGPT是一个可投入生产的人工智能项目&#xff0c;利用大型语言模型&#xff08;LLMs&#xff09;的…

智能通用平台(Intelligent General-purpose Platform)

根据2024年的最新人工智能技术发展趋势&#xff0c;我为您提出的项目需求表如下&#xff1a; 项目名称&#xff1a;智能通用平台&#xff08;Intelligent General-purpose Platform&#xff09;项目概述&#xff1a;结合最新的生成式人工智能、多模态学习和量子计算技术&#…

Windows Docker 部署 Jenkins

一、简介 今天介绍一下在 Windows Docker 中部署 Jenkins 软件。在 Windows Docker 中&#xff0c;分为两种情况 Linux 容器和 Windows 容器。Linux 容器是通常大多数使用的方式&#xff0c;Windows 容器用于 CI/CD 依赖 Windows 环境的情况。 二、Linux 容器 Linux 容器内部…