黑屏添加observer,执行active后状态依然处于inactive;查看日志有提示fail to get leader replica

【 使用环境 】生产环境
【 OBserver 】社区版
【 使用版本 】4.2.0.0
【问题描述】清晰明确描述问题
背景:
1-1-1架构集群,一台服务器断电后无法启动。ocp无法使用,因此采用黑屏进行observer添加,
添加后开启服务时报错,看日志提示fail to get leader replica
【复现路径】问题出现前后相关操作
1、参照文档进行软件安装
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001050180
2、执行如下命令进行服务启动
/home/admin/oceanbase/bin/observer -I 10.32.103.100 -P 2882 -p 2881 -z OceanBase01 -d /home/admin/oceanbase/store/HNYSOceanBase -r ‘10.32.103.2:2882:2881;10.32.103.3:2882:2881’ -c 20190716 -n HNYSOceanBase -o “system_memory=5GB,datafile_size=100G,config_additional_dir=/data/1/HNYSOceanBase/etc3;/data/log1/HNYSOceanBase/etc2”
3、登陆数据库进行添加节点操作
ALTER SYSTEM ADD SERVER ‘10.32.103.100:2882’ ZONE ‘OceanBase01’;
4、检查dba_ob_servers试图


5、执行active操作
ALTER SYSTEM START SERVER ‘10.32.103.100:2882’;

【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
日志见附件:
rootservice.zip (14.4 MB)

1 个赞

2、执行如下命令进行服务启动 /home/admin/oceanbase/bin/observer -I 10.32.103.100 -P 2882 -p 2881 -z OceanBase01 -d /home/admin/oceanbase/store/HNYSOceanBase -r ‘10.32.103.2:2882:2881;10.32.103.3:2882:2881’ -c 20190716 -n HNYSOceanBase -o “system_memory=5GB,datafile_size=100G,config_additional_dir=/data/1/HNYSOceanBase/etc3;/data/log1/HNYSOceanBase/etc2”
这一步启动的进程的时候确定没问题吗。。看dba_ob_servers视图10.32.103.100的进程估计是挂了
可以去10.32.103.100上检查observer.log看具体的报错,而且我感觉-r 参数有点问题,这是三个zone你只写了两个存活的RS最好还是把10.32.103.1恢复了写上3个RS在试试。。?

103.1这台服务器断电后起不来了。

-r写了2个是参照的ocp add observer的任务:

你这个图片上的任务是2扩3吗。。
10.32.103.100上的日志查一下吧,看看为什么进程挂了

嗯嗯,单个zone的扩容增加observer

我的意思是这个OCP上的任务,是不是从 2 zone 扩容到 3 zone :joy:

目前你做的操作是 纵向扩容和水平扩容 你是1-1-1的架构 按理说observer断电不能重启了 断电不能重启那一台 有对应observer.log日志么?重启以后报什么错?如果增加observer到zone的话 应该1-1架构到1-1-1架构 才对呀 ocp不能操作 具体报什么错?

metadb在故障节点上,故障节点无法启动,也无法修复。 目前所有的操作只能用黑屏实现。当前的方案是想用黑屏加入1个节点,并加入集群,替换故障节点。

现在的问题是你准备加进去的节点进程起不来。。所以虽然dba_ob_servers视图中能查到该节点但是状态是inactive

恩,所以想知道怎么解决这个问题。

得去10.32.103.100上的observer.log找找具体的报错信息才行。。

日志在上面的压缩包里,解压后可以看到。

有大量的gts获取失败,检查下这台加进来的节点时间是否跟集群同步
还有启动进程的cluster_id是否正确

2 个赞

嗯,确认了下cluster_id确实填错了。我们再试一下

查询一下 相关的信息 看看是否均衡
–当前集群内的租户
select tenant_id,tenant_name,primary_zone,compatibility_mode from oceanbase.__all_tenant;
–查看transfer任务的历史记录
select tenant_id,TASK_ID,CREATE_TIME,FINISH_TIME,TABLET_COUNT,STATUS,RESULT from CDB_OB_TRANSFER_TASK_HISTORY order by create_time desc limit 20;
–查看LS均衡任务的历史记录
select tenant_id,TASK_ID,CREATE_TIME,FINISH_TIME,PART_COUNT,STATUS,RESULT from CDB_OB_BALANCE_TASK_HISTORY order by create_time desc limit 20;
–分区数量均衡
select svr_ip,svr_port,ls_id,count(*) from CDB_OB_TABLE_LOCATIONS where role=‘leader’ and table_type=‘USER TABLE’ and tenant_id=xxx group by svr_ip,svr_port,ls_id;
–分区磁盘均衡
select a.svr_ip,a.svr_port,b.ls_id,sum(data_size)/1024/1024/1024 as total_data_size from CDB_OB_TABLET_REPLICAS a, CDB_OB_TABLE_LOCATIONS b where a.tenant_id=b.tenant_id and a.svr_ip=b.svr_ip and a.svr_port=b.svr_port and a.tablet_id=b.tablet_id and b.role=‘leader’ and b.table_type=‘USER TABLE’ and a.tenant_id=xxxx group by svr_ip,svr_port,ls_id;

cluster_id填错 是有影响的 楼上我帖了相关的均衡排查 自己可以排查一下 你们用odp了么?odp的启动方式是哪一种。
查看odp的启动方式
obclient -uroot@proxysys -h10.10.10.1 -P2883 -p
show proxyconfig like ‘obproxy_config_server_url’;
show proxyconfig like ‘rootservice_list’;

调整完cluster后就能正常加入到集群了。多谢。

1 个赞