【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】服务器重启后oceanbase 启动报错 checksum error ret=-4103
【复现路径】服务器这台服务器的IP被占用过几十分钟, 后面又换回来了然后重启oceanbase
observer.log (133.2 KB)
【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】服务器重启后oceanbase 启动报错 checksum error ret=-4103
【复现路径】服务器这台服务器的IP被占用过几十分钟, 后面又换回来了然后重启oceanbase
observer.log (133.2 KB)
根据日志,是在解析observer config的时候报错了,可以确认下observer home下的etc目录的observer.config.bin是否被修改过
strings /mydata/ob/myoceanbase/oceanbase/ect/observer.config.bin 看下
/var/log/messages 日志也提供下
顺便检查下磁盘是否有硬件故障。
应该不是硬件磁盘问题 , 虚拟机的其他服务器正常使用
strings只能打印出这个文件中的可读字符,config文件头部会编码写入version字段+len文件长度字段,报错原因是在解析len的时候发现长度是一个负值,能否查看一下config文件的修改时间?
是否手动修改过config.bin文件,或者该config.bin文件是其他observer使用的(或使用过)?
【可能的修复方法】
确保observer.config.bin.history与最新的配置一致的前提下,使用同目录下的 observer.config.bin.history 覆盖 observer.config.bin 文件
cp -f observer.config.bin.history observer.config.bin
手动修改过config.bin , 使用history仍然报一样的错
那手动改回也是会报错的
我尝试了改回手动的更改,然后使用带参数启动的方式,能够重新启动observer,以下是一个带参数启动的例子:
./observer -p 30200 -P 30201 -z zone1 -c 1 -d 【store目录】 -i lo -r 127.0.0.1:30201 -o __min_full_resource_pool_memory=1073741824,log_disk_size=5G,memory_limit=8G,system_memory=1G,datafile_size=8G,cpu_count=24,cache_wash_threshold=1G,workers_per_cpu_quota=10,schema_history_expire_time=1d,net_thread_count=4,syslog_io_bandwidth_limit=10G
运行命令:
./observer -p 2881 -P 2882 -z zone1 -c 1 -d /mydata/ob/myoceanbase/oceanbase/store -i lo -r 127.0.0.1:2881 -o __min_full_resource_pool_memory=1073741824,log_disk_size=60G,memory_limit=50G,system_memory=2G,datafile_size=50G,cpu_count=16,cache_wash_threshold=1G,workers_per_cpu_quota=10,schema_history_expire_time=1d,net_thread_count=4,syslog_io_bandwidth_limit=10G
能提供一下这次报错的日志吗?
这次的日志好像没有在observer.log里 , 能问一下怎么看这次的日志吗
应该在observer binary文件所在的目录,看一下有不?