当前位置: 首页 > news >正文

OceanBase单机重启和配置修改

OceanBase单机重启和配置修改

  • 查看节点信息
  • 节点重启
  • 使用obd重启集群
  • 集群配置查看
  • 集群配置修改

OceanBase单机版 V4.2.5

查看节点信息

SYS租户查看节点信息:

obclient(root@sys)[oceanbase]> SELECT * FROM oceanbase.DBA_OB_SERVERS;
+-------------+----------+------+-------+----------+-----------------+--------+----------------------------+-----------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+-------------------+
| SVR_IP      | SVR_PORT | ID   | ZONE  | SQL_PORT | WITH_ROOTSERVER | STATUS | START_SERVICE_TIME         | STOP_TIME | BLOCK_MIGRATE_IN_TIME | CREATE_TIME                | MODIFY_TIME                | BUILD_VERSION                                                                             | LAST_OFFLINE_TIME |
+-------------+----------+------+-------+----------+-----------------+--------+----------------------------+-----------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+-------------------+
| 22.23.66.11 |     2882 |    1 | zone1 |     2881 | YES             | ACTIVE | 2025-03-23 09:17:42.853285 | NULL      | NULL                  | 2025-03-16 10:21:54.940533 | 2025-03-23 09:17:43.947126 | 4.2.5.3_xxxxxx(Mar 31 2025 18:00:04) | NULL              |
+-------------+----------+------+-------+----------+-----------------+--------+----------------------------+-----------+-----------------------+----------------------------+----------------------------+-------------------------------------------------------------------------------------------+-------------------+
1 row in set (0.010 sec)

obd命令行查看集群信息:

[obadmin@22.23.66.11 ~]$ obd cluster list
+----------------------------------------------------------+
|                       Cluster List                       |
+------+---------------------------------+-----------------+
| Name | Configuration Path              | Status (Cached) |
+------+---------------------------------+-----------------+
| tpcc | /home/obadmin/.obd/cluster/tpcc | running         |
+------+---------------------------------+-----------------+[obadmin@22.23.66.11 ~]$ obd cluster display tpcc
Get local repositories and plugins ok
Open ssh connection ok
Connect to observer 22.23.66.11:2881 ok
Wait for observer init ok
+-----------------------------------------------+
|                  oceanbase-ce                 |
+-------------+---------+------+-------+--------+
| ip          | version | port | zone  | status |
+-------------+---------+------+-------+--------+
| 22.23.66.11 | 4.2.5.3 | 2881 | zone1 | ACTIVE |
+-------------+---------+------+-------+--------+
obclient -h22.23.66.11 -P2881 -uroot@sys -p'xxxxxx' -Doceanbase -Acluster unique id: xxxxxx

节点重启

OceanBase数据库自身并没有提供重启集群的命令。OceanBase数据库的核心能力就是高可用(前提是三副本部署)。当少数派节点故障时,OceanBase数据库内部会自动切换,依然可以为业务提供读写服务。OceanBase数据库提供了停止和启动某个副本(zone级别或者server级别)的功能,并且只允许停止少数派节点。所以,OceanBase集群的重启是靠外部操作。比如说用kill命令杀进程,然后再启动进程observer。

OB节点重启适用于对机器进行短暂维修,以及修改系统配置项后需要重启生效的场景。

OB单机版在重启节点前需要注意以下事项:

重启前:

  • 暂停所有业务。
  • 检查和终止活跃的会话。
  • 提交或回滚未完成事务,避免数据不一致。
  • 需要备份好数据,防止重启后数据丢失或者损坏。

重启后:

  • 检查数据库状态,是否可以正常连接。
  • 检查数据库完整性。

OB单机版重启节点的主要流程为:转储 => 关闭进程 => 启动进程。

  1. 登录SYS租户,对待重启的节点进行转储操作,以便缩短重启后回放Redo Log的时间,加速重启。
--启动节点转储
ALTER SYSTEM MINOR FREEZE SERVER = ('observer_ip:rpc_port');--查看转储进度
SELECT * FROM oceanbase.GV$OB_TABLET_COMPACTION_PROGRESS WHERE TYPE='MINI_MERGE';--示例
ALTER SYSTEM MINOR FREEZE SERVER = (' 22.23.66.11:2882');
  1. 记录observer文件路径,停止待重启节点的observer进程。
ps -ef | grep observer | grep -v grepkill -9 observer_PIDps aux | grep observer
  1. 启动待重启节点的observer进程。
cd /home/obadmin/oceanbase && ./bin/observer

使用obd重启集群

OB单机版可以使用obd命令行工具重启集群:

obd cluster restart <deploy_name># 等价于
obd cluster stop <deploy_name>
obd cluster start <deploy_name>

示例:

[obadmin@22.23.66.11 ~]$ obd cluster list
+----------------------------------------------------------+
|                       Cluster List                       |
+------+---------------------------------+-----------------+
| Name | Configuration Path              | Status (Cached) |
+------+---------------------------------+-----------------+
| tpcc | /home/obadmin/.obd/cluster/tpcc | running         |
+------+---------------------------------+-----------------+[obadmin@22.23.66.11 ~]$ obd cluster restart tpcc
Get local repositories and plugins ok
Load cluster param plugin ok
Open ssh connection ok
Cluster status check ok
Connect to observer 22.23.66.11:2881 ok
Server check ok
Stop observer ok
Stop obshell ok
cluster scenario: htap
Start observer ok
observer program health check ok
obshell start ok
obshell program health check ok
Connect to observer 22.23.66.11:2881 ok
Wait for observer init ok
+-----------------------------------------------+
|                  oceanbase-ce                 |
+-------------+---------+------+-------+--------+
| ip          | version | port | zone  | status |
+-------------+---------+------+-------+--------+
| 22.23.66.11 | 4.2.5.3 | 2881 | zone1 | ACTIVE |
+-------------+---------+------+-------+--------+
obclient -h22.23.66.11 -P2881 -uroot@sys -p'******' -Doceanbase -Acluster unique id: xxxxxxtpcc restart

集群配置查看

  • 方法一:通过SHOW PARAMETERS LIKE语句查看
show parameters like 'enable_syslog%';
  • 方法二:通过查询GV$OB_PARAMETERS视图
select zone,svr_ip,svr_port,tenant_id,scope,section,name,value,edit_level,default_value,info  
from oceanbase.gv$ob_parameters;select zone,tenant_id,scope,section,name,value,edit_level,default_value  
from oceanbase.gv$ob_parameters where name in  
('memory_limit','memory_limit_percentage','memstore_limit_percentage','freeze_trigger_percentage',
'writing_throttling_trigger_percentage','compaction_high_thread_score',
'datafile_size','datafile_next','datafile_maxsize','data_disk_usage_limit_percentage');

其中的scope字段表示配置项的级别:

  • scope值为CLUSTER表示为集群级别的配置项。
  • scope值为TENANT表示为租户级别的配置项。

集群配置修改

通过ALTER SYSTEM语句修改集群配置。

ALTER SYSTEM [SET] parameter_name = expression [SCOPE = {SPFILE | BOTH}][SERVER [=] 'svr_ip:svr_port' | ZONE [=] 'zone' | TENANT [=] {all | all_user | all_meta | tenant_name}];

📖 参数说明:

  • scope:用于指定本次配置项修改的生效范围,默认值为BOTH
    • SPFILE:表示仅修改配置表中的配置项值,当OBServer服务器重启以后才生效。
    • BOTH:表示既修改配置表,又修改内存值,修改后立即生效,且OBServer重启以后配置值仍然生效。
  • tenant:用于系统租户修改所有用户租户、所有Meta租户或指定租户的租户级配置项。
    • allall_user:所有用户租户。
    • all_meta:所有Meta租户。
    • tenant_name:指定租户的租户名。
  • server|zoneserver表示指定集群中要修改的OBServer服务器,zone表示指定集群中要修改的Zone。此处指定的Zone和Server为唯一值。ALTER SYSTEM语句不能同时指定Zone和Server。如果修改集群级配置项时,不指定Zone也不指定Server,则表示该修改在整个集群内生效。

在修改集群配置项时,集群级别(scope=CLUSTER)的配置项不能通过用户租户设置,也不可以通过sys租户指定为用户租户设置。可以通过gv$ob_parameters视图中的scope字段来查看配置项是集群级别还是租户级别。

示例:

--修改集群级别的配置项
ALTER SYSTEM SET memstore_limit_percentage = 0; 
ALTER SYSTEM SET datafile_size = '640G'; --修改租户级别的配置项
ALTER SYSTEM SET compaction_high_thread_score = 0 tenant = tpcc;
ALTER SYSTEM SET writing_throttling_trigger_percentage = 60 tenant = tpcc;
ALTER SYSTEM SET freeze_trigger_percentage = 20 tenant = tpcc;

相关文章:

  • 自动伴随无人机说明文档
  • Redis 缓存并发问题深度解析:击穿、雪崩与穿透防治指南
  • 使用 LLM助手进行 Python 数据可视化
  • Python 数据可视化进阶:精准插入图表到指定 Excel 工作表
  • 手撕——贪吃蛇小游戏(下)
  • 如何通过挖掘需求、SEO优化及流量变现成功出海?探索互联网产品的盈利之道
  • Java高频面试之并发编程-08
  • C++/SDL 进阶游戏开发 —— 双人塔防(代号:村庄保卫战 14)
  • 前端分页与瀑布流最佳实践笔记 - React Antd 版
  • ADC读取异常情况汇总
  • pcm数据不支持存储在json里面,需要先转base64
  • 机器学习——Seaborn练习题
  • 怎样给MP3音频重命名?是时候管理下电脑中的音频文件名了
  • 月之暗面开源-音频理解、生成和对话生成模型:Kimi-Audio-7B-Instruct
  • 【Java面试笔记:进阶】23.请介绍类加载过程,什么是双亲委派模型?
  • 第二章、在Windows上部署Dify:从修仙小说到赛博飞升的硬核指南
  • AI在医疗领域的10大应用:从疾病预测到手术机器人
  • madvise MADV_FREE对文件页统计的影响及原理
  • Java求职面试:从Spring Boot到微服务架构的全面解析
  • NGINX upstream、stream、四/七层负载均衡以及案例示例
  • 为何未来的福利国家必须绿色且公平
  • 图像编辑新增一款开源模型,阶跃星辰发布Step1X-Edit
  • 马上评丨发钱奖励结婚,支持婚育就该系统性发力
  • 罗马教皇方济各葬礼在梵蒂冈举行
  • 敲定!今年将制定金融法、金融稳定法
  • 上海经信委:将推动整车企业转型,加强智能驾驶大模型等创新应用