oceanbase添加节点报错

【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】4.1.0
【问题描述】
根据文档进行增加节点:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001697238
启动命令:
/home/admin/oceanbase/bin/observer -i eth0 -c 1 -p 2881 -P 2882 -z zone1 -n obtest -d ‘/home/admin/oceanbase/store/obtest’ -r ‘192.168.179.201:2882:2881;192.168.179.198:2882:2881;192.168.179.199:2882:2881’ -l WARN -o ‘memory_limit=11GB,system_memory=4G,datafile_size=100G,log_disk_size=50G,config_additional_dir=/data/1/obtest/etc3;/data/log1/obtest/etc2’

向集群的 Zone 中添加节点时报错如下:
ALTER SYSTEM ADD SERVER ‘192.168.179.201:2882;192.168.179.198:2882;192.168.179.199:2882’ ZONE ‘zone1’

1210 - Invalid argument
[192.168.179.199:2882] [2023-06-27 16:10:31.597626] [YB42C0A8B3C7-0005FEF047F50752-0-0]
Time: 0.001s

【复现路径】问题出现前后相关操作
【问题现象及影响】

【附件】

alter system add server 后面加的server 一次加一个
https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001701151

-r ‘192.168.179.201:2882:2881;192.168.179.198:2882:2881;192.168.179.199:2882:2881’

写本机这个 IP 就够了。

UNIT_NUM由1变为2,前提是不是每个zone都要增加一个节点?只对一个zone增加节点无法使用?

unit num 作用于 resource pool 的,修改 unit num 会影响该 resource pool 对应的 zone。
如果要增加 unit num 到 2 ,则要求是该 resource pool 对应的 zone 中有 2 个 observer

unit num已增加到2,表示节点扩容完成了吧?
然后当把节点kill掉后,再启动就起不来了,报错如下:

还有怎么纳入obd的管控,使用下面命令启停observer,手动添加obagent嘛
obd cluster stop obtest -s 192.168.179.201 -c oceanbase-ce
obd cluster start obtest -s 192.168.179.201 -c oceanbase-ce

observer.log.txt (6.2 KB)

启动命令:
[admin@Centos7-Mode-V11 log]$ /home/admin/oceanbase/bin/observer -i eth0 -c 1 -p 2881 -P 2882 -z zone2 -n obtest -d ‘/home/admin/oceanbase/store/obtest’ -r ‘192.168.179.201:2882:2881;192.168.179.198:2882:2881;192.168.179.199:2882:2881’ -l WARN -o ‘memory_limit=8GB,system_memory=3G,datafile_size=100G,log_disk_size=50G,config_additional_dir=/data/1/obtest/etc3;/data/log1/obtest/etc2’
/home/admin/oceanbase/bin/observer -i eth0 -c 1 -p 2881 -P 2882 -z zone2 -n obtest -d /home/admin/oceanbase/store/obtest -r 192.168.179.201:2882:2881;192.168.179.198:2882:2881;192.168.179.199:2882:2881 -l WARN -o memory_limit=8GB,system_memory=3G,datafile_size=100G,log_disk_size=50G,config_additional_dir=/data/1/obtest/etc3;/data/log1/obtest/etc2
devname: eth0
cluster id: 1
mysql port: 2881
rpc port: 2882
zone: zone2
appname: obtest
data_dir: /home/admin/oceanbase/store/obtest
rs list: 192.168.179.201:2882:2881;192.168.179.198:2882:2881;192.168.179.199:2882:2881
log level: WARN
optstr: memory_limit=8GB,system_memory=3G,datafile_size=100G,log_disk_size=50G,config_additional_dir=/data/1/obtest/etc3;/data/log1/obtest/etc2
[admin@Centos7-Mode-V11 log]$
[admin@Centos7-Mode-V11 log]$ ps -ef|grep ob
admin 25090 1 20 17:25 ? 00:00:01 /home/admin/oceanbase/bin/observer -i eth0 -c 1 -p 2881 -P 2882 -z zone2 -n obtest -d /home/admin/oceanbase/store/obtest -r 192.168.179.201:2882:2881;192.168.179.198:2882:2881;192.168.179.199:2882:2881 -l WARN -o memory_limit=8GB,system_memory=3G,datafile_size=100G,log_disk_size=50G,config_additional_dir=/data/1/obtest/etc3;/data/log1/obtest/etc2
admin 25892 10300 0 17:25 pts/0 00:00:00 grep --color=auto ob
[admin@Centos7-Mode-V11 log]$
[admin@Centos7-Mode-V11 log]$ ps -ef|grep ob
admin 26715 10300 0 17:25 pts/0 00:00:00 grep --color=auto ob
[admin@Centos7-Mode-V11 log]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 195G 154G 42G 79% /
devtmpfs 7.9G 0 7.9G 0% /dev
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 7.9G 8.6M 7.9G 1% /run
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/vda1 1014M 176M 839M 18% /boot
tmpfs 1.6G 0 1.6G 0% /run/user/1001
[admin@Centos7-Mode-V11 log]$ free -h
total used free shared buff/cache available
Mem: 15G 348M 14G 8.5M 629M 15G
Swap: 4.0G 0B 4.0G

需要先查看 zone 扩容是否完成。通过查询 __all_server 表

select * from oceanbase.__all_server;

查看对应的zone 下有几个observer


扩容是完成了,就是这个节点kill掉后,再启动报的错


报错知道怎么处理了,就是没看到,这怎么出现无限套娃模式的

rm -rf /data/*
mkdir -p /data/1/obtest/{etc3,sort_dir,sstable,slog}
mkdir -p /data/log1/obtest/{clog,etc2,ilog,oob_clog}
再次启动就正常了。当然这样的话该节点之前存放的数据或许就丢失了

自行部署的ob集群无法被obd接管

1 个赞

slog 的那个软连接是因为第二次也执行了 ln, 已经有同名的软链接了,就会在下一层再建一个出来,最终看到的效果就是无限的链接到自己的上层目录。
一般启动过了之后的话,只要etc目录下的observer.config.bin文件已经存在了,直接不带参数启动就好,不需要删除文件再启动的,不然启动参数里的配置项会覆盖原来的。

新节点ob启动命令错了,加入zone的命令也错了。

是的,obd重启集群对自行部署的节点不起作用。

这文档还是有点坑