学习笔记(二) | OceanBase

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Oceanbase数据库工程师认证学习笔记

(三)产品部署与基础概念:

<第一部分>
1.OceanBase数据库产品家族主要产品:
a) OceanBase数据库内核:通过Paxos协议保证了高可用性,可以兼容MySQL和Oracle,同时兼容HTAP,即它既可以用于OLTP业务,也可以用于OLAP业务。
b) OceanBase给运维者提供OCP工具平台,图形化的界面,帮助管理员更好的完成日常的集群管理、租户管理、监控警告、性能诊断等任务。
c) OceanBase给开发者提供ODC工具平台,图形化的界面,帮助开发者更好的完成数据库连接管理、数据库对象管理、存储过程开发测试、导入导出等任务。
d) OceanBase提供了OMS数据库迁移平台,既可以从数据库订阅数据,也可以从异构的数据库中(如DB2、Oracle、MySQL)进行数据迁移,回滚等。

2.OceanBase支持多种部署形式:
(1)OceanBase已经部署到AliCould公有云上,而且采用两地三中心的高可用形式部署,用户/企业可以按需购买。
(2)OceanBase已经包含在AliCould专有云3.5以上版本
(3)企业可以在自建基础设施上部署OceanBase

3.安装配置:(OceanBase采用独立部署模式、采用3台以上服务器)
(1)最低性能要求:32C,128G,1.2TB存储
(2)最佳性能要求:32C,256G,2TB存储
(3)实验环境(试用版):2C,8G

4.OCP服务器是管理服务器,可1台单机部署,也可以3台部署

5.OceanBase支持如下CPU及操作系统:
CPU:Intel X86系列CPU、海光(Hygon7185)、海斯(鲲鹏920)、飞腾(FT1500a、FT2000)
操作系统:CentOS、RedHat、SUSE、Debian/Ubuntu、AliOS、NeoKylin、Kylin

6.OceanBase部署流程:
部署环境配置-->部署环境检查-->部署OCP-->部署OceanBase集群-->部署OBProxy-->创建租户-->部署备份/恢复服务-->部署OMS/ODC

7.OceanBase用于连接数据库、对数据库进行日常管理的两种客户端工具:

(1)黑屏工具:MySQL客户端和OceanBase专有的客户端。OceanBase转专有的客户端工具可以同时访问MySQL租户和Oracle租户
(2)白屏工具:包含OceanBase云平台OCP,OceanBase开发者中心ODC

<第二部分>

基础概念:
①集群、Zone、OB Server
(1)一个集群有多个Zone组成,每一份数据在各个Zone上都仅有一个副本。
物理上讲:不同的Zone可以对应不同的城市;
逻辑上讲:Zone就是给集群内的一批机器打上同一个tag,具有同样Tag的服务器则属于同一Zone;
(2)由于OceanBase采用Paxos协议,多数派要达到一致,Zone的个数一般大于3台;
当1个Zone故障后,其余两个Zone内的副本仍可构成多数派,不影响业务。Zone个数>=3,最好为奇数,决定了OBserver的个数。
(3)OB Server相对独立,自身具备计算引擎和存储引擎。

②RootService总控服务(RS)
(1)OceanBase的核心模块,管理整个集群。
(2)集群内置服务,无需额外软硬件部署。
(3)自带高可用能力,无单点故障风险
(4)部署:在Zone中选择一台OBserver作为RootServer,以此降低成本。
(5)核心功能:

a)  系统初始化(BootStrap);系统元数据管理。
b)  资源分配及调度:分区及副本管理、动态负载均衡、扩容\缩容。
c)  全局DDL;集群数据合并。

③多租户机制、资源隔离、数据隔离
(1) 租户介绍:

a) 将数据库集群按指定规格(CPU、内存、存储、TPS、QPS)划分成多个资源池,分配给不同租户;

b) 租户资源隔离策略:内存物理隔离、CPU逻辑隔离、数据隔离;

c) 通常一个应用占一个用户;

(2) 租户特性:

a) 可创建自己的用户;

b) 可以创建数据库、表、等实体对象;

c) 有自己独立的系统数据库;

d) 有自己独立的系统变量;

(3) Unit & 租户资源池:

a) 每个Unit描述了位于一个OBserver上的一组计算和存储资源;每个Unit只属于一个租户。

b) 每个Unit可以成为一个轻量级虚拟机,包括若干CPU资源、内存资源、磁盘资源等。

c) 一个租户拥有若干资源池,资源池的集合描述了这个租户所可用的全部资源;

d) 一个租户在同一个Server上最多只有一个UNIT

<副本存放在UNIT中,UNIT是副本的容器>

<第三部分>

实验1:部署OceanBase集群(商用环境)

(1)整体部署流程:

  1. 安装OceanBaseAdmin ToolKit(OAT)
  2. 安装OceanBaseCloud Platform(OCP)
  3. 安装OceanBase集群
  4. 安装OB Proxy

(2)部署OAT 流程:

Ⅰ. 登录每台服务器,安装OAT,使用root账户执行命令:

rpm -ivht-oceanbase-antman-1.3.3-1896174.alios7.x86_64.rpm
Ⅱ. 登录每台服务器,添加Admin用户,设置操作系统内核、安装依赖包;配置时钟源(NTP & chromy),确保全部节点的时钟偏差在100ms以内。

Ⅲ. 部署前环境检查:

cd /root/t-oceanbase-antman
sh pre_check.sh -m ocp
(3)部署OCP(OceanBase Cloud Platform)流程

Ⅰ. 以root账户登录OCP服务器执行命令:

Init_obcluster_conf.sh
Ⅱ. 在显示的模式选择中,选择1-单点部署,选择3-3节点部署

Ⅲ. 系统生成配置模式

Ⅳ. 根据注释信息,修改配置模板后开始部署。

(4)部署流程

OCP -> 运维 -> OB Proxy -> 安装OB Proxy

实验2:创建租户

(1)创建租户过程(命令行方式)

Ⅰ.创建“资源单元规格”,Create resource unit //指定资源单元规格
Ⅱ.创建“资源池”,Create resource pool //根据Ⅰ定义创建资源单元并赋予一个新资源池
Ⅲ.创建租户,Create tenant //将资源池赋给一个新的租户
(2)创建资源单元:

CREATERESOURCE UNIT 资源规格名称 //创建资源规格
Max_cpu= 4, //4核CPU
Max_memory= 10737418240 (10G) //最大内存
Min_memory= 10737418240 (10G) //最小内存
Max_iops= 1000 //磁盘最大性能指标
Min_iops= 128 //磁盘最小性能指标
Max_session_num= 300 //最大连接数
Max_disk_size= 21474836480 (20G) //磁盘最大限制
(3)创建资源池(实际创建unit,按规格定义分配资源)

CREATERESOURCE POOL 资源池名称 //创建资源池
UNIT= ‘unit1’, //使用的资源规格
UNIT_NUM = 1, //选择Zone内的OBServer的数量放置Unit
ZONE_List= (‘zone1’,‘zone2’,‘zone3’) //指定Zone
(4)创建租户(将资源池分配给对应租户)

CREATETENANT 租户名称
RESOURCE_POOL_LIST= (‘资源池名称’) //指定使用的资源池
PrimaryZone = ‘Zone1,Zone2,Zone3’ //指定副主副本分配到Zone内的优先级
Setob_tcp_invited_nodes = ‘%’,ob_compatibility_mode = ‘mysql
Recyclebin= off , ob_timestamp_service = ‘GTS’
(5)以上步骤即可用白屏工具/黑屏工具连接OceanBase

(6)检查集群状态:

Select* from 表名 all_server //检查所有服务器的状态
_all_virtual_server_stat //查看集群中的整体资源分配情况
Select* from 表名 all_unit_config //查看系统中定义的resource unit规格
Select* from 表名 all_unit //查看系统中已经分配的resource unit
__all_resource_pool,__all_unit,__all_unit_config //将所有内容关联起来
Select* from 表名 all_resource_pool //将以分配的resourceunit与租户对应起来
实验3:创建用户及管理用户权限

  1. 创建用户:

create user ‘username’identified by ‘password’;

  1. 默认用户:

alter user ‘root’identified by ‘password’;

  1. 管理用户权限:

a) grant on, to‘user’;
b) revoke on, from ‘’;
实验4:查看系统日志

  1. OBServer日志(/home/admin/oceanbase/log目录)

    Observer.log:obs运行时的日志文件
    
    Rootservice.log:obs上rootserver日志文件
    
    Election.log:obs上选举模块的日志文件
    
  2. 开启日志循环:(控制OBServer日志文件个数)
    Enable_syslog_recyle = True; //开启日志循环
    Max_syslog_file_cout = ; //设定存储日志最大数量
  3. 日志级别:(默认级别:INFO)
    Syslog_level = [DEBUG,TRACE,INFO,WARN,USER,ERROR];
  4. OB Proxy日志(部署后才会产生)(/opt/taobao/install/obproxy-/log目录)
    Obproxy..log :每次OB Proxy重启都会产生新的文件名

    部分解释:

1.OAT是自动化部署工具,物理机器环境检查及初始化(装机模板程序),需要在所有服务器上安装OAT的RPM包。
2.OCP:OCP可以执行安装OceanBase集群、创建OceanBase集群用户、安装Proxy,也可执行集群运维及集群监控任务;
OCP自带高可用DNS服务器,可提供域名解析服务,提供config url服务,保证OceanBase集群的关键信息;
OCP底层有OceanBase元数据集群,提供元数据和监控数据的持久化存储
每台OCP有2个Docker,分别运行OCP(Web服务)、OBServer(OceanBase元数据集群)
3..集群部署时默认不安装OBProxy,通常会在每个Zone上选择一台OBServer部署OBProxy
4.当UNIT_NUM = 1时,从每个Zone中找一台OBServer放置UNIT;
当UNIT_NUM>1时,从每个Zone中找等同于UNIT_NUM个数的OBServer放置UNIT
5.指定租户类型为MySQL还是Oracle,来决定使用那种数据库模型语法
6.服务器的全部状态:

服务器创建时间;
上次修改时间;
服务器归属于那个Zone;
服务器当前状态;
上次停机/开机/下线时间;

7.resource unit
可以看到集群中Zone的数量,每个Zone中的OBServer数量,每个Zone的各种资源分配情况8.OBServer进程指定正确的参数:

 网卡名称、对内/外服务端口、集群名称、集群ID、磁盘目录、当前OBServer所属的zone、rslist信息。
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
存储 SQL 关系型数据库
OceanBase的架构特点
【8月更文挑战第10天】OceanBase的架构特点
224 66
|
3月前
|
SQL 分布式计算 分布式数据库
OceanBase是什么
OceanBase是什么【8月更文挑战第11天】
178 61
|
3月前
|
Oracle 关系型数据库 MySQL
OceanBase有哪些功能?OceanBase有哪些功能?
OceanBase有哪些功能?【8月更文挑战第11天】
158 62
|
3月前
|
存储 关系型数据库 MySQL
OceanBase的架构
【8月更文挑战第9天】OceanBase的架构
230 59
|
3月前
|
SQL OLAP 数据库
OceanBase怎么样
【8月更文挑战第9天】OceanBase怎么样
51 4
|
6月前
|
SQL Oracle 关系型数据库
OceanBase 使用
OceanBase 使用
69 5
|
6月前
|
关系型数据库 MySQL 数据库
使用oceanbase
使用oceanbase
71 0
|
6月前
|
负载均衡 容灾 数据库
云数据库OceanBase
云数据库OceanBase的多机房部署是一种先进的部署方式,它将三个节点部署在三个不同的可用区,实现了跨可用区的容灾。这种方式可以有效提高系统的可用性和稳定性,防止因为单个机房的故障导致整个系统的瘫痪。
71 2
|
6月前
|
存储 SQL 负载均衡
OceanBase
OceanBase是一款由蚂蚁集团和阿里巴巴完全自主研发的分布式关系型数据库,自2010年创始以来,一直致力于提供高效、稳定、可靠的数据存储和管理解决方案。该数据库具有数据强一致、高可用、高性能、在线扩展、高度兼容SQL标准和主流关系型数据库、低成本等特点,已经成为了许多企业和组织在处理大规模数据时的首选。 OceanBase采用分布式架构,可以将数据分布在多个节点上,实现了数据的负载均衡和容错处理。同时,它还具备数据强一致性的特点,可以保证数据在多个节点上的一致性,避免了数据不一致的问题。这使得OceanBase成为了金融、电商等对数据一致性要求极高的领域的理想选择。 除了在蚂蚁集团和阿里巴
127 7
|
运维 Shell Linux
OceanBase数据库集群中的obagent服务
OceanBase数据库集群中的obagent服务
158 1