当前位置: 首页 > news >正文

免费做app页面的网站/百度云搜索引擎入口盘多多

免费做app页面的网站,百度云搜索引擎入口盘多多,企业展厅设计网,wordpress widget id​ OceanBase 数据库采用 Shared-Nothing 架构,各个节点之间完全对等,每个节点都有自己的 SQL 引擎、存储引擎、事务引擎,天然支持多租户,租户间资源、数据隔离,集群运行的最小资源单元是Unit,每个租户在每…

​ OceanBase 数据库采用 Shared-Nothing 架构,各个节点之间完全对等,每个节点都有自己的 SQL 引擎、存储引擎、事务引擎,天然支持多租户,租户间资源、数据隔离,集群运行的最小资源单元是Unit,每个租户在每个节点上只会运行一个Unit。

先看看集群整体架构图,下面集群的部署模式为“三中心三副本”

有3个zone,每个zone下有两个OBServer节点
在这里插入图片描述
以业务租户Tenant_1为例,它有2个Unit,因为蓝色主副本P1、P2运行在zone1的observer上,蓝色主副本P3、P4运行在zone2的observer上,它们分别在另外两个observer上都运行着一个绿色从副本,以提高可用性和读性能,这是“三中心三副本”的由来。

在只有3个zone的情况下,Tenant_1租户的Unit=2,设置Unit=3 就是扩容,Unit=1 就是缩容

  • 扩容:需要在每个zone下都增加一台服务器,总共3台,然后在数据库参数中调整Unit_Num的大小由2改为3,就会自动在新添加的服务器上启动Unit(默认配置了负载均衡策略),并自动迁移数据,来提升服务能力

  • 缩容有两种场景,1.只减少租户下Unit数量,不下线服务器,2.减少Unit数量,也下线服务器

​ 在有多个zone的情况下,可以在创建租户时,指定租户属于不同zone,还可以迁移zone从一个机房搬迁到另一个机房,先增加 Zone,再在该 Zone 内增加节点,然后调整租户的 Locatity 属性,租户就是数据库实例,相当于把不同的数据库实例部署在不同的zone上。

​ 通过上面的理论得知,扩缩容实际上是调整Unit_Num的数量,而每个节点上只能运行一个租户的一个Unit,它又需要2个副本,所以增加一个Unit就需要在所有zone上都增加一台服务器,且Unit的资源描述大小不能超过服务器硬件配置(Unit需要8核、16G,而增加的服务器只有4核8G,则扩容失败),如果已有zone内的服务器资源配置充足,则不需要添加服务器就可以扩容。

​ **Tenant_SYS ** 系统租户目前不能扩容,只能3副本的形式存在,而且系统租户资源需要管理整个OceanBase集群的正常运行,所以不要在系统租户上创建数据库和表(上篇文章因演示需要才直接在系统租户下创建的数据库表),官方推荐在自定义租户下创建库表。

数据链路:客户端应用 -> F5/LVS -> OBProxy -> OBServer

上面介绍了扩缩容的理论,下面介绍扩缩容的实际操作,还是先说理论:
  • 在部署集群后,会自动创建一个系统租户(Tenant_SYS),同时会创建一些元数据表,部署时的配置信息会保存到元数据表中,扩缩容需要添加服务器节点,调休租户的Unit_Num大小,这些操作都需要保存到元数据表中,我们可以连接系统租户数据库查看元数据表的内容,查看zone、查看节点、查看租户、查看Unit等。
1.连接到系统租户
obclient -h192.168.113.161 -P2883 -uroot@sys#myoceanbase -p***** -A

-u :租户的连接账户,格式有:用户名@租户名#集群名,系统租户MySQL模式,默认用户名为root,租户为sys,集群名在创建集群时设置的,集群名可以不写。

-p:提供账户密码,为了安全可以不提供,改为在后面提示符下输入,密码文本不可见

-A:表示在 OBClient 连接数据库时不自动获取统计信息

2.查看zone和observer
# 查看zone
SELECT * FROM oceanbase.DBA_OB_ZONES;

STATUS: ACTIVE为可用状态,INACTIVE为不可用状态

# 查看节点
SELECT * FROM oceanbase.DBA_OB_SERVERS;

查询结果中的相关字段说明如下:

  • SVR_IP:节点 IP。
  • SVR_PORT:节点的 RPC 端口。
  • ZONE:节点所在的 Zone。
  • SQL_PORT:节点的 SQL 端口,可以使用该端口通过直连方式连接 OceanBase 数据库。
  • WITH_ROOTSERVER:该节点是否为集群 RS(RootServer),RS 负责处理集群管理操作。
  • STATUS:节点的状态。ACTIVE:表示该节点为可用状态。INACTIVE:表示该节点为宕机状态。DELETING:表示该节点正在被删除。
  • STOP_TIME:节点停止服务的时间点。如果值为 NULL,表示节点服务正常运行。
  • START_SERVICE_TIME:节点开始服务的时间点。如果值为 NULL,表示节点未提供服务。
  • BLOCK_MIGRATE_IN_TIME:禁止副本迁入的开始时间点。如果为 NULL,表示副本正常迁入。
3.添加节点
3.1.节点需安装OceanBase软件包,并启动observer进程

在OecanBase添加节点前需要在节点上安装OceanBase软件,设置数据存储目录,在oceanbase-all-in-one-4.2.1.1-xxxx86_64.tar.gz的rpms目录中有安装包
在这里插入图片描述

1.安装rpm包,主要是oceanbase-ce 和oceanbase-ce-libs,都可以安装
rpm -ivh $rpm_name2.初始化 OceanBase 数据库的目录,$cluster_name是集群名
mkdir -p /data/1/$cluster_name/{etc3,sort_dir,sstable,slog} 
mkdir -p /data/log1/$cluster_name/{clog,etc2,ilog,oob_clog} 
mkdir -p /home/admin/oceanbase/store/$cluster_name
for t in {etc3,sort_dir,sstable,slog};do ln -s /data/1/$cluster_name/$t /home/admin/oceanbase/store/$cluster_name/$t; done
for t in {clog,etc2,ilog,oob_clog};do ln -s /data/log1/$cluster_name/$t /home/admin/oceanbase/store/$cluster_name/$t; done3.启动observer进程
/home/root/oceanbase/bin/observer -I 192.168.113.164 -P 2882 -p 2881 -z zone1 -d /home/root/oceanbase/store/myoceanbase -r '192.168.113.161:2882:2881' -c 20240119 -n myoceanbase -o "system_memory=10GB,datafile_size=100G,config_additional_dir=/data/1/myoceanbase/etc3;/data/log1/myoceanbase/etc2"

启动observer进程相关参数说明如下:

  • -I:参数用于指定待启动的节点 IP。在多机部署场景下,不能指定 127.0.0.1 作为目标 IP。
  • -c:用于指定集群 ID。其值可通过 SHOW PARAMETERS LIKE 'cluster_id'; 语句获取。
  • -p:用于指定 SQL 端口号。一般为 2881,除非有明确目的,一般不建议修改。
  • -P:用于指定 RPC 端口号。一般为 2882,除非有明确目的,不建议修改。
  • -n:用于指定集群名。其值可通过 SHOW PARAMETERS LIKE 'cluster'; 语句获取。本示例中集群名为 myoceanbase
  • -z:用于指定待加入的 Zone。可通过视图 DBA_OB_ZONES 查看集群中的 Zone 名。
  • -d:用于指定数据目录。
  • -r:用于指定待添加的 OceanBase 集群的 RS 地址列表。
  • -l:用于指定日志的级别,本示例中为 WARN,表示日志级别为 WARNING 级别。
  • -o:用于指定集群的启动配置项,需要根据实际情况配置。
    • system_memory:用于指定 OceanBase 数据库内部保留内存,10G,默认是 30G。
    • datafile_size:用于指定 OceanBase 数据库数据文件 SSTable 的大小(一次性初始化),根据 /data/1/ 可用空间评估,建议不少于 100G,同时又保留一些剩余空间。
    • config_additional_dir:用于指定参数文件的冗余目录。

如果需要添加多个节点,请重复执行上面添加节点操作。

3.2.向OceanBase集群添加节点

添加节点后,就需要连接集群,把节点添加到元数据表中

1.连接系统租户数据库
obclient -h192.168.113.161 -P2883 -uroot@sys#myoceanbase -p***** -A2.向集群的 Zone 中添加节点
ALTER SYSTEM ADD SERVER 'svr_ip:svr_port' [,'svr_ip:svr_port'...] [ZONE [=] 'zone_name'];
ALTER SYSTEM ADD SERVER '192.168.113.164:2882','192.168.113.165:2882' ZONE 'zone4';3.查询 DBA_OB_SERVERS 进行确认
SELECT * FROM oceanbase.DBA_OB_SERVERS;

增加节点后,节点所在的 Zone 内有更多的节点容纳 Unit,从而可以执行后续的迁移 Unit、调整租户的 UNIT_NUM 以及新建租户等操作

3.3.扩容,调整租户UNIT_NUM大小

租户扩容和缩容本质上是提高和降低租户的服务能力,包括计算能力和存储容量。可以通过提高单节点的服务能力达成,也可以通过增加服务节点达成。

下面通过调整Unit_Num大小来达到租户总服务能力的提升或降低,实现租户的扩容或缩容。

从 V4.0.0 版本开始,OceanBase 数据库要求租户内每个 Zone 的 Unit 个数必须保持一致

  • 有个前提条件,设置租户内的负载均衡策略,租户内的负载均衡策略由租户级配置项 enable_rebalanceenable_transfer 共同控制,它们的默认值为 true,设置后不需要重启 OBServer 节点,立即生效。当他们的值为true时,表示在进行租户扩缩容操作时,系统会自动调整分区分布,实现负载均衡。

    ALTER SYSTEM SET enable_rebalance = true TENANT = 'tenant_name';
    ALTER SYSTEM SET enable_transfer = true TENANT = 'tenant_name';#系统租户开启所有用户租户(不含 sys 租户和 Meta 租户)的租户内负载均衡和租户下的 Transfer 功能
    ALTER SYSTEM SET enable_rebalance = true TENANT = all;
    ALTER SYSTEM SET enable_transfer = true TENANT = all;
    

调整Unit_Num大小,来给租户扩缩容

  • 1.连接系统租户数据库

    obclient -h192.168.113.161 -P2883 -uroot@sys#myoceanbase -p***** -A
    
  • 2.use oceanbase;

    可以 show tables; 看看有很多系统内置的表
    在这里插入图片描述

  • 3.查看租户 mysql001 信息,获取其 TENANT_ID。

    SELECT * FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME = 'ocp';
    

    查询结果中,UNIT_NUM 的值为 1 表示租户的 Unit Number 数为 1。

    在这里插入图片描述

  • 4.查看租户 ocp 所拥有的 Unit,在3台服务器上分别有一个Unit,一主两从。

    SELECT * FROM oceanbase.DBA_OB_UNITS WHERE TENANT_ID = 1002;
    

    在这里插入图片描述

  • 5.把租户 mysql001 的 UNIT_NUM 修改为 2。

    ALTER RESOURCE TENANT mysql001 UNIT_NUM = 2;
    
  • 6.查看调大 Unit Number 任务的执行状态。

    SELECT * FROM oceanbase.DBA_OB_TENANT_JOBS WHERE JOB_TYPE='ALTER_RESOURCE_TENANT_UNIT_NUM' AND TENANT_ID=1006;
    
  • 7.再次查看租户 mysql001 修改后的 Unit。

    SELECT * FROM oceanbase.DBA_OB_UNITS WHERE TENANT_ID = 1006;
    
  • 8.通过随机删除 UNIT_GROUP 的方式来调小 UNIT_NUM 的数量

    ALTER RESOURCE TENANT mysql001 UNIT_NUM = 1;
    

参考了官方文档:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000507927
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000508357

相关文章:

OceanBase集群扩缩容

​ OceanBase 数据库采用 Shared-Nothing 架构,各个节点之间完全对等,每个节点都有自己的 SQL 引擎、存储引擎、事务引擎,天然支持多租户,租户间资源、数据隔离,集群运行的最小资源单元是Unit,每个租户在每…...

html 3D 倒计时爆炸特效

下面是代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>HTML5 Canvas 3D 倒计时爆炸特效DEMO演示</title><link rel"stylesheet" href"css/style.css" media"screen&q…...

记一次垃圾笔记应用VNote安装失败过程

特色功能简介 1.全文搜索: VNote支持根据关键词搜索整个笔记本或者特定文件夹内的文档内容&#xff0c;非常适合快速找到信息。 2.标签管理: 你可以给笔记添加标签&#xff0c;从而更好地组织和检索你的笔记内容。 3.自定义主题和样式: 进入设置&#xff0c;VNote允许你选…...

记一次 stackoverflowerror 线上排查过程

一.线上 stackOverFlowError xxx日,突然收到线上日志关键字频繁告警 classCastException.从字面上的报警来看,仅仅是类型转换异常,查看细则发现其实是 stackOverFlowError.很多同学面试的时候总会被问到有没有遇到过线上stackOverFlowError?有么有遇到栈溢出?具体栈溢出怎么来…...

论文写作之十个问题

前言 最近进入瓶颈&#xff1f; 改论文&#xff0c;改到有些抑郁了 总是不对&#xff0c;总是被打回 好的写作&#xff0c;让人一看就清楚明白非常重要 郁闷时候看看大佬们怎么说的 沈向洋、华刚&#xff1a;读科研论文的三个层次、四个阶段与十个问题 十问 What is the pro…...

leetcode2171 拿出最少数目的魔法豆

题目 给定一个 正整数 数组 beans &#xff0c;其中每个整数表示一个袋子里装的魔法豆的数目。 请你从每个袋子中 拿出 一些豆子&#xff08;也可以 不拿出&#xff09;&#xff0c;使得剩下的 非空 袋子中&#xff08;即 至少还有一颗 魔法豆的袋子&#xff09;魔法豆的数目…...

测试C#调用OpenCvSharp和ViewFaceCore从摄像头中识别人脸

学习了基于OpenCvSharp获取摄像头数据&#xff0c;同时学习了基于ViewFaceCore的人脸识别用法&#xff0c;将这两者结合即是从摄像头中识别人脸。本文测试测试C#调用OpenCvSharp和ViewFaceCore从摄像头中识别人脸&#xff0c;并进行人脸红框标记。   新建Winform项目&#xf…...

测试经理面试初体验

家人们谁懂啊&#xff0c;我在海口实在难找计算机类的实习&#xff0c;就直接在BOss上海投了&#xff0c;结果一个hr直接给我弄了个测试经理的面试&#xff08;可能年底冲业绩吧&#xff09;&#xff0c;然后就在明天下午&#xff0c;我直接抱下f脚了&#xff0c;就当体验一下~…...

使用ffmpeg调整视频中音频采样率及声道

1 原始视频信息 通过ffmpeg -i命令查看视频基本信息 ffmpeg -i example2.mp4 ffmpeg version 6.1-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developersbuilt with gcc 12.2.0 (Rev10, Built by MSYS2 project)configuration: --enable-gpl --enable…...

详细分析Java中的Date类以及格式转换

目录 前言1. 基本知识2. 格式化输出3. 格式转换 前言 记录这篇文章的缘由&#xff0c;主要是涉及一个格式转换&#xff0c;对此深挖了这个类 在Java中&#xff0c;Date类是用于表示日期和时间的类。 位于java.util包中&#xff0c;是Java平台中处理日期和时间的基本类之一。…...

【计算机网络】应用层——HTTP 协议(一)

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】 本专栏旨在分享学习计算机网络的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 一、什么是 HTTP 协…...

线程和进程的区别

Java面试题 线程和进程的区别 进程是操作系统资源分配的基本单位。 线程是处理器任务调度和执行的基本单位 一个进程可以包含多个线程。进程之间的资源是相互独立&#xff0c;而同一进程下的线程之间可以共享进程中的资源。...

proxy 代理的接口报错301问题

项目系统里仅仅这个接口报错&#xff0c;反向代理错误导致。 默认情况下&#xff0c;不接受运行在HTTPS上&#xff0c;且使用了无效证书的后端服务器。如果你想要接受&#xff0c;修改配置&#xff1a;secure: false&#xff08;简单意思&#xff1a;如果本地没有进行过https相…...

mysql进阶-执行计划

目录 1. 概念 2. 使用 3. 具体相关字段含义 3.1 id 3.2 select_type 3.3 table 3.4 partition 3.5 type 3.6 possible_key 3.7 key 3.8 key_len 3.9 ref 3.10 row 3.11 filtered 3.12 extra 1. 概念 一条语句通过优化器之后&#xff0c;会生成具体的执行计划用…...

【UE5】第一次尝试项目转插件(Plugin)的时候,无法编译

VS显示100条左右的错误&#xff0c;UE热编译也不能通过。原因可能是[名字.Build.cs]文件的错误&#xff0c;缺少一些内容&#xff0c;比如说如果要写UserWidget类&#xff0c;那么就要在 ]名字.Build.cs] 中加入如下内容&#xff1a; public class beibaoxitong : ModuleRules …...

MeterSphere本地化部署实践

项目结构 搭建本地环境 安装JDK11&#xff0c;配置好JDK环境&#xff0c;系统同时支持JDK8和JDK11安装IEAD&#xff0c;配置JDK环境配置maven环境,IDEA配置(解压可以直接使用)无限重置IDEA试用期配置redis环境(解压可以直接使用) 配置kafka环境 安装mysql-5.7环境&#xff…...

巨变!如何理解中国发起的“数据要素X”计划?

作者 张群&#xff08;赛联区块链教育首席讲师&#xff0c;工信部赛迪特聘资深专家&#xff0c;CSDN认证业界专家&#xff0c;微软认证专家&#xff0c;多家企业区块链产品顾问&#xff09;关注张群&#xff0c;为您提供一站式区块链技术和方案咨询。 刘烈宏在第25届北大光华新…...

CS8370错误,这是由于使用了C# 7.3中不支持的功能

目录 背景: 第一种方法: 第二种办法: 背景: 在敲代码的时候&#xff0c;程序提示报错消息提示:CS8370错误&#xff0c;那么这是什么原因导致的&#xff0c;这是由于使用了C# 7.3中不支持的功能&#xff0c;不支持该功能&#xff0c;那就是版本太低我们就需要升级更高的版本&…...

Raspbian安装云台

Raspbian安装云台 1. 源由2. 选型3. 组装4. 调试4.1 python3-print问题4.2 python函数入参类型错误4.3 缺少mjpg-streamer可执行文件4.4 缺失编译头文件和库4.5 python库缺失4.6 图像无法显示&#xff0c;但libcamera-jpeg测试正常4.7 异常IOCTL报错4.8 Git问题 5. 效果5.1 WEB…...

蓝桥杯理历年真题 —— 数学

1. 买不到的数目 这道题目&#xff0c;考得就是一个日常数学的积累&#xff0c;如果你学过这个公式的话&#xff0c;就是一道非常简单的输出问题&#xff1b;可是如果没学过&#xff0c;就非常吃亏&#xff0c;在考场上只能暴力求解&#xff0c;或是寻找规律。这就要求我们什么…...

自然语言处理--双向匹配算法

自然语言处理作业1--双向匹配算法 一、概述 双向匹配算法是一种用于自然语言处理的算法&#xff0c;用于确定两个文本之间的相似度或匹配程度。该算法通常使用在文本对齐、翻译、语义匹配等任务中。 在双向匹配算法中&#xff0c;首先将两个文本分别进行处理&#xff0c;然后…...

IDEA 2023.3.2 安装教程

1.下载2023.3.2版本IDEA 链接&#xff1a;https://pan.baidu.com/s/1RkXBLz6qxsd8VxXuvXCEMA?pwd5im6 提取码&#xff1a;5im6 2.安装 3.解压文件&#xff0c;进入&#xff0c;选择方式3 4.将下面文件夹复制到任意位置&#xff08;不要有中文路径&#xff09; 5.进入下面文…...

C语言常见面试题:什么是宏,宏的作用是什么?

宏在计算机科学中是一种批量处理程序命令&#xff0c;它是一种抽象的规则或模式&#xff0c;用于说明某一特定输入&#xff08;通常是字符串&#xff09;如何根据预定义的规则转换成对应的输出&#xff08;通常也是字符串&#xff09;。在编译时&#xff0c;预处理器会对宏进行…...

【0248】Background Writing实现机制分析

文章目录 1. 前言2. 有了checkpoint,为何还需要background writing?2.1 checkpoint和background writing有何差异? 如何协同工作?2.2 background writing如何工作? 职责是什么?1. 前言 本文是Background Writing进程理论篇,源码剖析实战篇会在后面给出。本文的主要内容…...

基于springboot+vue的教师工作量管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…...

4-新建子模块(尝鲜)

新建子模块 Maven多模块下新建子模块流程案例。 1、新建业务模块目录&#xff0c;例如&#xff1a;ruoyi-test。 2、在ruoyi-test业务模块下新建pom.xml文件以及src\main\java&#xff0c;src\main\resources目录。 <?xml version"1.0" encoding"UTF-8&…...

反序列化字符串逃逸(上篇)

首先&#xff0c;必须先明白&#xff0c;这个点并不难&#xff0c;我给大家梳理一遍就会明白。 反序列化字符串逃逸就是序列化过程中逃逸出来字符&#xff0c;是不是很简单&#xff0c;哈哈哈&#xff01; 好了&#xff0c;不闹了&#xff0c;其实&#xff1a; 这里你们只要懂…...

[C++]使用yolov5的onnx模型结合onnxruntime和bytetrack实现目标追踪

【官方框架地址】 yolov5框架&#xff1a;https://github.com/ultralytics/yolov5 bytetrack框架&#xff1a;https://github.com/ifzhang/ByteTrack 【算法介绍】 Yolov5与ByTetrack&#xff1a;目标追踪的强大组合 Yolov5和ByTetrack是两种在目标追踪领域具有显著影响力…...

i2c接口验证

用i2cdetect命令。 1&#xff0c;检测有几组i2c总线在系统上 i2cdetect -l 2&#xff0c;查询i2c总线上挂接的设备及设备的地址 i2cdetect -y <number> i2cdetect -y 0命令用于扫描I2C总线/dev/i2c-0&#xff0c;并列出所有在该总线上存在的有效I2C设备地址。...

1、Pandas 数据结构:从 Series 到 DataFrame

目录 Series 创建 Series Series 索引和选择 DataFrame 创建 DataFrame DataFrame 索引和选择 DataFrame 操作和转换 数据结构转换 Series Series 是 Pandas 中的一维数组形式的数据结构&#xff0c;它可以包含任何数据类型&#xff08;整数、字符串、浮点数、Python对象…...