【 使用环境 】测试环境
【 OB 】
【 使用版本 】4.0.0
【问题描述】部署了一个ob集群,共有3个节点,今天突然发现数据库登录不上,查看日志发现3台机器上的日志中均有报错信息,报错截图附在下文:
【复现路径】
问题出现后尝试通过“obd cluster edit-config obtest”命令调大log_disk_size:参数,然后重启服务,重启卡死,仍然报“clog disk space is almost full”的错,
接着手动kill掉3台机器上的observer服务,再通过“./bin/observer -o “log_disk_size=48G,log_disk_utilization_threshold=95,log_disk_utilization_limit_threshold=98””命令手动拉起3台机器上的observer服务,接下来不知道怎么办,数据库还是登不上;ob集群相关操作,比如查看状态,启动服务等都会卡死。
硬盘本身是够用的,截图如下:
Giant
2025 年3 月 11 日 09:44
#3
启动的时候
log_disk_utilization_limit_threshold = 98
log_disk_utilization_threshold=60
再次启动看看吧
参数含义:log_disk_utilization_limit_threshold =95 默认值 ,会进行限速。 您设置的log_disk_size=1G ,
log_disk_utilization_threshold=80 默认值 , 触发clog的 回收。
./bin/observer -o “log_disk_size=18G,log_disk_utilization_threshold=60,log_disk_utilization_limit_threshold=98”
淇铭
2025 年3 月 11 日 09:49
#4
obd cluster edit-config obtest --配置文件保存到文本里 发一下
ob4.0.0这个版本不建议部署了 如果使用oltp建议使用ob425 如果使用OLAP的数据库建议ob435
靖顺
2025 年3 月 11 日 09:51
#6
clog盘满了建议用obdiag 的根因分析看下原因是啥,上面的是应急操作
obdiag rca run --scene=clog_disk_full
文档:https://www.oceanbase.com/docs/common-obdiag-cn-1000000002200464
辞霜
2025 年3 月 11 日 09:58
#7
上面你说手动拉起3台机器上的observer服务。你又说启动服务等都会卡死
当前三个节点状态是什么样子,log_disk_utilization_limit_threshold这个参数你设置的太大了改为60先
我这边3个节点的observer都起来后操作什么呢?集群服务没起来,数据库还是连不上。
3个节点的observer通过参数命令起来后,我想再改下ob集群配置中的log_disk_size,然后再重启ob集群,但是失败了。
Giant
2025 年3 月 11 日 10:11
#11
–sys租户 连接进去进行操作, 再使用obd进行重启
select * from oceanbase.dba_ob_unit_configs;
–找到unit
alter resource unit unit_name log_disk_size=‘5G’;
有两台机器启动成功,但是有一台observer没起来。
辞霜
2025 年3 月 11 日 10:39
#15
稍等,1-1-1集群黑屏化启动命令需要改一下 这个给你提供一个参考方案:
三个节点(192.168.1.1、192.168.1.2、192.168.1.3)
su - admin
cd /home/admin/oceanbase && /home/admin/oceanbase/bin/observer \
-P 2882 \
-p 2881 \
-z zone1 \
-r '192.168.1.1:2882:2881;192.168.1.2:2882:2881;192.168.1.3:2882:2881' \
-n obdemo \
-o "system_memory=16G,datafile_size=100G,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2"
麻烦你参考这启动一下你的集群。
Giant
2025 年3 月 11 日 10:40
#16
我这集群没问题 ,修改过来了。
./bin/observer -o “log_disk_utilization_threshold=60,log_disk_utilization_limit_threshold=98”
Giant
2025 年3 月 11 日 10:41
#17
还有就是 您的部署账号是admin ,就切换到admin。 使用的root 部署, 就root 启动
第二行的 -p 2882 和第三行的 -p 2881分别代表哪个端口?
如果有三个节点的话 , -z是 zone1 zone2 zone3 这样写吗?
-r 每个IP后面跟两个端口?
-n 是集群名?
我的集群配置文件如下:
ob.txt (7.4 KB)
您那边也是分别停掉集群下的几个observer然后各自用命令行加参数启动的吗?
Giant
2025 年3 月 11 日 10:47
#21
您的参数 启动 命令 添加 双引号 “” 扩住参数 。 启动后 进程 就没这个双引号 了 ,您再试下 ,
./bin/observer -o “log_disk_size=18G,log_disk_utilization_limit_threshold=98,log_disk_utilization_threshold=60”
是这样没错吧?