部署oceanbase,数据库国产化
由于某些原因,公司的数据库需要由mysql,换为oceanbase,所以有了这篇帖子。
这个部署卡了我一周,现在终于可以使用了。
遇到了很多的问题,大部分都是连接超时,在启动,暂停,查看集群状态的时候连接超时,如下图所示,会一直卡在这个连接服务器的位置,其实真正运行起来他会很快,而不是需要等好几分钟,甚至十几分钟。
我的运行环境:
虚拟化平台:VMware 虚拟机
操作系统:Ubuntu 22.04.5 LTS
内核版本:5.15.0-185-generic
CPU架构:x86_64
总内存:16 GiB
磁盘:机械硬盘 (HDD),根目录
/总容量 156GB,当前使用 50%(可用 76GB
具体的可以跟官方的的比较一下https://www.oceanbase.com/docs/common-oceanbase-database-standalone-1000000006076963
关于里面的一项磁盘类型,磁盘类型官方文档推荐的是SSD,我用的是HDD,目前没有什么影响。如果需要搞性能的,可以选择SSD。
我选择的是单机使用obd 命令行部署集中式版,官方文档推荐的使用交互式部署方法部署。链接给你们放一下在这里:使用 obd 命令行部署集中式版 - OceanBase 数据库 V4.4.2 | OceanBase 文档中心
要注意,如果你们的磁盘或者内存不够,一定要按照官方的最小要求先扩大,不然后面可能会遇到各种各样的问题。
另外要注意的几点:
如果你曾经部署过,但是遇到了问题,需要重新部署的情况,
1.我建议在Ubuntu新建一个用户,并且开好足够的权限。
创建用户 - OceanBase 数据库 V4.4.2 | OceanBase 文档中心
2. 修复时钟/时区(非常重要,如果你有时区不匹配的问题)
– 检查时区
timedatectl date– 确保时区正确且开启 NTP 同步
sudo timedatectl set-timezone Asia/Shanghai sudo systemctl enable --now chronyd # 或 ntp(找不到也没事,执行完上一条可以再检查一下时区是否正确)– 确认时间不会跳变
chronyc tracking(执行不成功也没事,只要前面地命令检查出来的时区正确即可)
3. 把2881,2882,2886的端口的残留进程清掉,清理残留的数据目录(.oceanbase-all-in-one_20260728015113,myoceanbase以及其他的一些,可以询问一下ai,哪些残留数据会影响重新部署),确认 OBD 集群列表为空(obd cluster list); 不用删除安装包解压目录oceanbase-all-in-on,直接进入oceanbase-all-in-on开始部署;
按照官方文档部署好之后会输出配置信息并且成功启动集群
这时用命令查询,集群能否成功启动并且正常使用
admin@dotmess:~/oceanbase-all-in-one$ obclient -h127.0.0.1 -P2881 -uroot@sys -p'你自己的密码' -Doceanbase -e "select 1;" +------+ | 1 | +------+ | 1 | +------+admin@dotmess:~/oceanbase-all-in-one$ obd cluster display myoceanbase Get local repositories and plugins ok Open ssh connection ok Connect to observer 127.0.0.1:2881 ok Wait for observer init ok +---------------------------------------------+ | oceanbase-ce | +-----------+---------+------+-------+--------+ | ip | version | port | zone | status | +-----------+---------+------+-------+--------+ | 127.0.0.1 | 4.6.0.0 | 2881 | zone1 | ACTIVE | +-----------+---------+------+-------+--------+ obclient -h127.0.0.1 -P2881 -uroot@sys -p'ai123456' -Doceanbase -A cluster unique id: 9b8d43d1-3d37-5b50-b551-07aa5ab5fbc0-19fa7c420b2-00000604 obshell program health check ok display obshell dashboard ok +----------------------------------------------------+ | obshell Dashboard | +-----------------------+------+------------+--------+ | url | user | password | status | +-----------------------+------+------------+--------+ | http://127.0.1.1:2886 | root | '********' | active | +-----------------------+------+------------+--------+ Trace ID: cf20b9d2-8a5b-11f1-a64c-000c296051f7 If you want to view detailed obd logs, please run: obd display-trace cf20b9d2-8a5b-11f1-a64c-000c296051f7如果输出很快,一般都是没什么问题了的。
