自定义OceanBase集群安装并使用OCP接管集群

  • 目标:清理一台已经按照官方文档安装了OceanBase的服务器,自定义安装OBServer和OCP。
  • 环境:单机测试环境,OAT、OCP和OBServer部署在同一台服务器上。
- 自定义安装用户: obadmin          # 替换admin用户
- 自定义数据目录:/obdata           # 替换/data/1
- 自定义日志目录:/obredo           # 替换/data/log1
- 自定义OB软件安装目录:/oceanbase  # 替换/home/admin/oceanbase/

:本文重点记录OceanBase安装过程中的自定义部分(安装用户和安装路径),完整的部署安装过程请参考官方手册。

环境清理

停止和卸载服务

停止和卸载所有OBServer节点中的服务。

停止observer:

ps -ef | grep observer
kill -9 `pidof observer`

卸载oceanbase RPM包:

rpm -qa | grep oceanbase
rpm -e oceanbase-4.3.5.1-101030012025040200.el7.x86_64
rpm -ql oceanbase-4.3.5.1-101030012025040200.el7.x86_64

数据库文件清理

删除旧的数据库文件,包括数据文件、日志文件和其他临时文件。

sudo rm -rf /home/admin/oceanbase/*
sudo rm -rf /data/log1/*
sudo rm -rf /data/1/*

注意:OAT部署工具不用重装,所以保留/oat_data下的文件。

安装用户清理

检查并清理observer的启动用户(admin)、uid=500的用户:

# 检查uid=500的用户
cat /etc/passwd | grep 500
cat /etc/group | grep 500
cat /etc/uid_list | grep 500

userdel -rf admin  # 删除admin用户及其家目录

cat /etc/uid_list | grep 500  #手动删除500一行

OAT中配置的OBServer服务器凭证用户视情况可以清理,也可以复用。

清理OAT容器中配置的凭证:

[root@obhost ~]# docker exec -it oat bash
[root@obhost oat]# oatcli get credential                          
┏━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ id ┃ name     ┃ authType ┃ username ┃ servers          ┃
┡━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ 2  │ root_123 │ password │ dbauser  │ ['22.23.36.123'] │
└────┴──────────┴──────────┴──────────┴──────────────────┘

[root@obhost oat]# oatcli delete credential root_123

删除OBServer服务器上的凭证用户(dbauser):

userdel -rf dbauser

安装路径挂载(自定义路径)

清理原来挂载的安装路径:

[root@obhost ~]# df -Th
Filesystem                   Type      Size  Used Avail Use% Mounted on
...
/dev/mapper/vgdata-lv_obdata xfs       200G  1.5G  199G   1% /data/1
/dev/mapper/vgdata-lv_obredo xfs       100G  747M  100G   1% /data/log1
/dev/mapper/vgapp-lv_oboat   xfs       100G  3.8G   97G   4% /oat_data
/dev/mapper/vgapp-lv_obhome  xfs       100G  747M  100G   1% /home/admin
overlay                      overlay   100G  3.8G   97G   4% /oat_data/docker/overlay2/e18c3b17e0b18dc7403b67979eaf4dc0/merged
shm                          tmpfs      64M     0   64M   0% /oat_data/docker/containers/358baf7ffa2ea7 2b8876aadc28d0a/mounts/shm

[root@obhost ~]# cat /etc/fstab
/dev/mapper/VolGroup-lv_root /                       xfs     defaults        0 0
UUID=bd01fe2d-32ab-4ec4-9270-6d92445de59d /boot                   xfs     defaults        0 0
/dev/vgdata/lv_obdata  /data/1      xfs  defaults  0 0
/dev/vgdata/lv_obredo  /data/log1    xfs  defaults  0 0
/dev/vgapp/lv_obhome   /home/admin  xfs  defaults  0 0
/dev/vgapp/lv_oboat   /oat_data     xfs  defaults  0 0

# 卸载原始挂载目录
[root@obhost ~]# umount /dev/vgapp/lv_obhome
[root@obhost ~]# umount /dev/vgdata/lv_obdata
[root@obhost ~]# umount /dev/vgdata/lv_obredo 

# 删除原始安装目录
[root@obhost ~]# cd /home
[root@obhost home]# rm -rf /data/1
[root@obhost home]# rm -rf /data/log1
[root@obhost home]# rm -rf admin/

⭐️ 挂载自定义的安装路径

# 创建自定义安装路径
[root@obhost ~]# mkdir /obdata     # 自定义数据目录,替换/data/1
[root@obhost ~]# mkdir /obredo     # 自定义日志目录,替换/data/log1
[root@obhost ~]# mkdir /oceanbase  # 自定义OB软件安装目录,替换/home/admin/oceanbase/

# 修改自动挂载信息
[root@obhost home]# cat /etc/fstab
/dev/mapper/VolGroup-lv_root /                       xfs     defaults        0 0
UUID=bd01fe2d-32ab-4ec4-9270-6d92445de59d /boot                   xfs     defaults        0 0
/dev/vgdata/lv_obdata  /obdata      xfs  defaults  0 0
/dev/vgdata/lv_obredo  /obredo    xfs  defaults  0 0
/dev/vgapp/lv_obhome   /oceanbase  xfs  defaults  0 0
/dev/vgapp/lv_oboat   /oat_data     xfs  defaults  0 0

# 挂载并检查
[root@obhost ~]# mount -a

[root@obhost home]# df -Th
Filesystem                   Type      Size  Used Avail Use% Mounted on
...
/dev/mapper/vgapp-lv_oboat   xfs       100G  3.8G   97G   4% /oat_data
overlay                      overlay   100G  3.8G   97G   4% /oat_data/docker/overlay2/e18c3b17e0b18dc7403b67979eaf4dc0/merged
shm                          tmpfs      64M     0   64M   0% /oat_data/docker/containers/358baf7ffa2ea7 2b8876aadc28d0a/mounts/shm
/dev/mapper/vgdata-lv_obdata xfs       200G  1.5G  199G   1% /obdata
/dev/mapper/vgdata-lv_obredo xfs       100G  747M  100G   1% /obredo
/dev/mapper/vgapp-lv_obhome  xfs       100G  747M  100G   1% /oceanbase

初始化OBServer服务器

📖 初始化OBServer服务器在OAT容器中完成。

检查机房信息:

[root@obhost ~]# docker exec -it oat bash
[root@obhost oat]
### OceanBase 分布式集群搭建教程 搭建 OceanBase 分布式集群需要经过多个关键步骤,包括环境准备、安装配置、集群扩展以及验证等。以下是详细的说明: #### 1. 环境准备 在开始搭建分布式集群之前,需要确保所有节点的环境已经准备好。这包括操作系统版本、依赖库的安装以及网络连通性测试。可以参考以下命令进行环境初始化[^1]: ```bash tar -xzf oceanbase-all-in-one-*.tar.gz cd oceanbase-all-in-one/bin/ ./install.sh source ~/.oceanbase-all-in-one/bin/env.sh ``` #### 2. 集群初始化 在完成单机环境部署后,可以通过命令行工具对集群进行初始化操作。首先需要查看当前集群的状态以确定扩展的基础信息[^3]: ```bash oceanbase@admin > SHOW ZONE; ``` 此命令将返回当前集群中已有的 Zone 信息。 #### 3. 添加新节点 为了扩展集群规模,需要向现有集群中添加新的节点。假设新增节点的 IP 地址为 `192.168.1.10`,可以使用以下命令将其加入集群: ```bash oceanbase@admin > ALTER SYSTEM ADD SERVER '192.168.1.10:2882'; ``` 此处的端口号 `2882` 是默认的 OceanBase 数据库服务端口。 #### 4. 配置 Zone OceanBase 的分布式架构依赖于多 Zone 设计来实现高可用性和数据冗余。可以通过以下命令创建一个新的 Zone 将服务器分配到该 Zone 中[^3]: ```bash oceanbase@admin > ALTER SYSTEM ADD ZONE 'zone2' '192.168.1.10'; ``` #### 5. 验证集群状态 在完成节点和 Zone 的添加后,需要验证整个集群的状态是否正常。可以使用以下命令检查集群健康状况[^3]: ```bash oceanbase@admin > SELECT * FROM GV$OB_CLUSTER_STATUS; ``` 如果所有节点均显示为 `ACTIVE` 状态,则表明集群扩展成功。 #### 6. 数据同步与分发 OceanBase 的数据存储机制基于基线数据和增量修改的设计理念[^4]。在分布式环境中,系统会自动将数据分片(Partition)分布到不同的 Zone 中,通过一致性协议保证副本之间的同步。 ### 注意事项 - 在进行集群扩展时,建议先备份重要数据以防止意外情况发生。 - 如果集群已经被 OCP 平台接管,可以直接通过 OCP 界面完成 Zone 和服务器的添加操作[^3]。 ```python # 示例代码:模拟 OceanBase 集群状态查询 def check_cluster_status(): import pymysql connection = pymysql.connect( host='127.0.0.1', user='root', password='', database='oceanbase' ) try: with connection.cursor() as cursor: sql = "SELECT * FROM GV$OB_CLUSTER_STATUS" cursor.execute(sql) result = cursor.fetchall() print(result) finally: connection.close() check_cluster_status() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GottdesKrieges

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值