【YashanDB 知识库】数据库升级后用 yasboot 在线扩充备节点出现报错
本文内容来自 YashanDB 官网,原文内容请见https://www.yashandb.com/newsinfo/7508313.html?templateId=1718516
数据库版本升级过程:22.2.4.1 升级到 22.2.12.100,再升级到 23.2.2.100
报错信息:升级到 23 版本的数据库按照官方文档使用 yasboot 执行在线扩容操作增加备节点出现报错:there is no replication addr in node 1-1
使用 yasboot 在线扩容报错没有 replication addr,但是在数据库中查询发现存在 replication addr

原因:托管功能在很早期的时候做的,那时候还没有扩容功能,所以 om 上不会把新 db 的信息写过来,导致 om 查询不到新库对应的配置。目前执行过升级的数据库都无法使用 yasboot 执行在线扩容操作
规避方法:
规避方案 1:
手动去修改 om 的 cod_domor.db 信息(路径及端口等信息请根据实际情况修改)
cp /data/test/yasdb_home/yashandb/22.2.4.1/om/yashandb/data/cod_domor.db /data/test/yasdb_home/yashandb/23.2.2.100/om/yashandb/data/
sqlite3 cod_domor.db
update host set install_path='/data/test/yasdb_home/yashandb/23.2.2.100';
yashandb_add.toml 中的 group -> name 改成 dbg1
然后按照扩容方法,可以成功。
yasboot config node gen -c yashandb --host-id host0001 -g 1 --node 1 --begin-port 4690
yasboot node add -c yashandb -t yashandb_add.toml -p yasdb_123
规避方案 2:
1、在另一个节点手动安装 yashandb
2、准备备机,参考:一主一备配置 | YashanDB Doc (yasdb.com)
解决方法:已和研发提单,在扩容的时候检查配置直接到 db 里面去查询。
版权声明: 本文为 InfoQ 作者【YashanDB】的原创文章。
原文链接:【http://xie.infoq.cn/article/f9b11caa10eb9a1abc2c88a50】。文章转载请联系作者。
评论