正文
OceanBase的学习与使用
简介
1. OceanBase数据库
注意这一块下载的其实是rpm包. 一般是通过下面的OAT或者是OCP工具进行安装.
有x86还有ARM两种架构. 虽然是el7结尾的, 但是发现实际上是可以使用与阿里龙蜥8.6系统的.
2. OCP
OceanBase Cloud Platform
OceanBase云平台, 可以创建管理配置监控集群,租户,并且对数据库的运行进行监控和运维.
3. OAT
OceanBase Admin tool
是OceanBase数据库进行安装的配置的控制台工具, 基本上用于进行ocp的安装
并且将服务器添加到群组,便于后续的ocp平台进行管理.
4. metadb
管理元数据的数据库实例, 一般是容器运行.
需要主要的是metadb和oat是在allinone里面的.
下载
https://www.oceanbase.com/softwarecenter-enterprise
这个地址可以进行数据库的下载.
下载完需要放置于特定的机器路径里面.
机器预处理
1. 修改机器名. hostnamectl -set-hostname
2. 修改/etc/hosts 可以预制几个IP地址便于使用.
3. 安全要求不是很高可以关闭防火墙.
4. 创建/data/1 类似的目录便于后续处理.
5. 创建ssh-kengen 创建自己的密钥.
6. 设置机器与自己的互信,便于clone使用.
7. 主机上面需要安装docker. 但是需要注意, docker仅是部分OAT和OCP.
数据库还是通过rpm二进制部署的.
8. 导入镜像,便于后续工作处理, master上面需要导入OAT的
集群机器准备
增加至少四台机器. 其中一台机器安装部署 OAT和OCP.
其他三台机器部署 observer.
在/etc/hosts 中都设置好对应的
ip hostname
然后备用.
第一步部署oat
mkdir /data_dir
# 注意我直接使用了我这边的镜像tag, 原始文档需要先docker images 获取一下,差别不是很大.
docker run -d --net=host --name oat -v /data_dir:/data --restart=always reg.docker.alibaba-inc.com/oceanbase/oat:4.0.0_bp1_20230113_x86
运行起来之后, 会监听 7000 端口.
使用浏览器打开 OAT的界面
默认的用户密码为:
admin/aaAA11__
需要注意这个密码的复杂度规则. 大小写,数字,特殊字符, 必须有至少两个.
第一次登录需要改密码, 修改为自己的密码便于使用.
第二步 添加服务器
注意, 这一块建议参照官方pdf
需要关注的是. OB产品服务和OB Server建议分开添加.
可以通过回车添加多个IP地址.
注意需要出示话配置, 可以将部分任务设置为 成功的方式进行忽略简单的错误.
需要注意 metadb 的安装需要先将all-in-one 里面的 metadb 的tar包
放到/data_dir/images/ 里面中 然后可以通过本地扫描的方式加载出来.
管理者工具-产品服务-组件管理-创建组件
需要再次注意的是 一方面架构要正确, 另外一方面.需要在OBserver的角色上面进行安装.
这里我的服务器是机械盘. 在创建metadb 的话 需要处理一下 io bench的执行.
INFO - (2002, "Can't connect to MySQL server on '10.110.139.250' (115)")
observer not ready, sleep 30s to try again...
其实这一步是在进行 IO测试. 解决方法:
docker exec -it metadb bash
ps -ef |grep bench 将进程kill -9 就会自动过去这一步
需要注意 机器的配置不要太低 Metadb的配置也不要太低. 不然会过不去
metadb的配置建议参照官方文档, 不要超过一半的机器配置.
第四步 安装OCP
管理者工具-产品服务-产品管理-安装产品
需要注意的是, 建议先安装完成metadb再安装OCP
安装OCP的过程中会连接metadb. 需要自己在metadb上面创建一个 meta一个monitor的租户
用来存储OCP的信息
注意这一步也需要更改配置等. 需要符合产品的配置信息. 和机器的配置.
我这边第一次安装失败了, 第二次突然就成功了,非常不理解.
也许是重启大法好.
第五步 创建集群
打开 http://ip:8080
登录OCP的平台,需要注意默认的用户密码跟oat 是一样的
admin/aaAA11__
修改密码后登录
主要有集群, 租户, 主机等多个操作界面.
第一步先创建集群. 按照pdf进行设置. 主要是机器配置不高的情况下内存的设置情况.
可以设置管理员的密码. 别忘记了..
初始化是可以如下设置, 避免失败.
system_memory 10G
__min_full_resource_pool_memory 268435456
datafile_disk_percentage 50
我这边因为机器配置低, 无法创建租户, 需要修改一下集群的配置方法为:
mysql -h10.x.x.61 -P2883 -uroot@sys#obcluster:1675063119 -p
use oceanbase;
ALTER RESOURCE UNIT sys_unit_config MAX_CPU 4;
这样会出现一个 最小规格租户便于下一步的处理.
注意可以通过ocp上面的 租户-总览, 查看链接字符串.
第六步 创建租户
需要注意, 我这边的租户设置主要为:
1. Oracle模式
2. 字符集 UTF8MB4
3. 增加专门的配置为:
set global nls_timestamp_format='yyyy-mm-dd hh24:mi:ss.ff3';
ALTER SYSTEM SET open_cursors=1500;
注意设置sys用户的密码等.
Oracle模式的部分使用
obclient -h10.110.xxx.xxx -P2883 -uSYS@igix#obcluster:1683249647 -p
部分查询语法
show variables like '%timeout%';
select * from nls_database_parameters
select table_name from user_tables;
set global ob_trx_timeout = 3600000000;