1.
obclient -h192.168.188.128 -P2881 -uroot -p'admin@12345' -Doceanbase -A
obclient -h192.168.188.129 -P2881 -uroot -p'admin@12345' -Doceanbase -A
obclient -h192.168.188.130 -P2881 -uroot -p'admin@12345' -Doceanbase -A
硬件如下
vm1
vm2
vm3
2.查看数据存在位置
more /root/oceanbase/etc/observer.config.bin
data_dir=/home/admin/data/1
3.先备份 1 1bakbak
4.
1. 模拟磁盘损坏
obd cluster stop myocp
备份数据目录:
cp -r /home/admin/data/1 /home/admin/data/1bak #感觉更稳
mv /home/admin/data/1 /home/admin/data/1bak
取消软链接,使数据目录不可用:
ln -sf /home/admin/data/1bak /home/admin/data/1
obd cluster start myocp
模拟磁盘损坏:
rm /home/admin/data/1
使用obclient连接到OceanBase,尝试查询数据表,确认数据是否仍然可查
5.在节点2 上查询
obclient -h192.168.188.129 -P2881 -uroot -p'admin@12345' -Doceanbase -A
然后在原来只有1条记录的数据库中再插入1条数据
INSERT INTO test.test_table (name, age) VALUES ('Bob', 30);
看集群 是否有数据
在节点3
obclient -h192.168.188.130 -P2881 -uroot -p'admin@12345' -Doceanbase -A
查询也能得到相关的数据
在节点1 查看到了 相关的软链接的信息
obclient -h192.168.188.128 -P2881 -uroot -p'admin@12345' -Doceanbase -A
rm /home/admin/data/1
这个命令会删除软链接 /home/admin/data/1,但不会影响它所指向的原始文件或目录 /home/admin/data/1bak
6.模拟宕机
kill -9 $(ps aux | grep "observer" | grep -v "grep" | awk '{print $2}')
[root@localhost data]# ps aux | grep "observer"
root 15663 0.0 0.0 112676 984 pts/1 R+ 18:11 0:00 grep --color=auto observer
root 123371 96.3 16.8 6082120 5568204 ? Ssl 17:41 28:56 /root/oceanbase/bin/observer -p 2881 -P 2882 -z zone1 -n myocp -c 1742282559 -d /home/admin/data/1 -I 192.168.188.128 -o __min_full_resource_pool_memory=2147483648,datafile_size=28G,log_disk_size=20G,memory_limit=24G,system_memory=1G,enable_syslog_wf=False,max_syslog_file_count=4,cpu_count=16
[root@localhost data]#
[root@localhost data]#
[root@localhost data]#
[root@localhost data]#
[root@localhost data]# ps aux | grep "observer" | grep -v "grep" | awk '{print $2}'
123371
[root@localhost data]#
持续写入和查询数据,观察业务是否恢复正常。
INSERT INTO test.test_table (name, age) VALUES ('three', 33);
在节点3 查询
在节点1 192.168.188.128 重启集群看是否有数据了
obd cluster start myocp
出现了下面的几行 数据库又可以来连接了
Stop ocp-server-ce ok
Start ocp-server-ce ok
在节点1查询
数据完全ok 3个节点一致性
参考1
使用OCP安装,报错OBD-4368只有3G内存,但实际有32G - OceanBase 技术问题 - 社区问答- OceanBase社区-分布式数据库
根据文档库中的信息,您的问题涉及到 OCP 安装过程中关于内存配置的错误。具体来说,错误 OBD-4368
表示分配给元数据库(MetaDB)的内存不足以创建租户。以下是详细的分析和解决方案:
-
错误信息解析:
- 报错内容:
OBD-4368: The allocated memory for the provided meta database is currently insufficient for creating a tenant. Available: 3G, Need: 12G(Available = memory_limit [6G] - system_memory [1G] - sys tenant memory [2G]. Need = ocp meta tenant memory [4G] + ocp_monitor_tenant_memory [8G]).
- 解释:当前可用内存为 3G,但创建租户需要 12G 内存。计算公式为:
Available = memory_limit [6G] - system_memory [1G] - sys tenant memory [2G]
,而Need = ocp meta tenant memory [4G] + ocp_monitor_tenant_memory [8G]
。
- 报错内容:
参考2
手动部署OceanBase集群(单zone)_oceanbase_ka7iu-OceanBase数据库社区
参考3
https://zhuanlan.zhihu.com/p/77249763