OceanBase安装配置全攻略
OceanBase 数据库安装与配置指南OceanBase简称 OB是一款企业级原生分布式数据库具备高可用、高扩展、强一致和高度兼容 MySQL 协议等特性。其安装与配置流程涉及集群规划、软件部署、集群初始化、租户创建等关键步骤。本文将提供一个从零开始的详细指南。一、 环境规划与准备在开始安装前必须进行详细的规划以确保集群的稳定性和性能。规划项详细说明与要求硬件与操作系统推荐配置•CPUx86_64架构建议8核及以上。•内存至少 16 GB。OceanBase 对内存要求较高需预留足够内存给系统内部缓存如 MemTable。•磁盘SSD 推荐。数据盘和日志盘建议分开数据盘容量根据业务量预估日志盘建议是数据盘的3-4倍。•OSCentOS 7.x / RHEL 7.x / Ubuntu 16.04 等主流 Linux 发行版。确保内核版本在 2.6.32 以上。网络• 集群内所有节点时钟必须同步建议使用 NTP 服务。• 节点间网络延迟要求低且稳定建议内网互通延迟小于 1ms。• 开放必要的防火墙端口通常包括-RPC 端口默认 2882用于节点间通信。-SQL 访问端口默认 2881用于应用程序连接。-监听端口默认 2883。部署模式•单机部署仅用于学习或测试。•分布式集群部署生产推荐至少3 个 Zone每个 Zone 可包含 1 台或多台 OBServer。这是实现高可用和容灾的基础。例如一个典型的“三副本三Zone”架构能容忍单个Zone的故障。依赖软件• 需提前安装libaio、numactl、net-tools等系统库。安装依赖包示例以 CentOS 为例sudo yum install -y libaio-devel numactl net-tools二、 使用 OBD 自动化部署推荐OceanBase Deployer (OBD) 是官方推荐的自动化部署和管理工具能极大简化安装流程。安装 OBD# 通过 OceanBase 官方软件源安装 sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo sudo yum install -y ob-deploy # 验证安装 obd --version准备集群配置文件创建一个 YAML 配置文件如obcluster.yaml定义集群拓扑和参数。## obcluster.yaml 示例部署一个包含3个节点的测试集群 oceanbase-ce: servers: - name: server1 ip: 192.168.1.101 - name: server2 ip: 192.168.1.102 - name: server3 ip: 192.168.1.103 global: # 集群基础配置 cluster_id: 1 # 指定数据、日志、安装等目录需提前创建并有足够权限 home_path: /home/admin/observer data_dir: /data/obdata redo_dir: /data/oblog # 资源规划 memory_limit: 8G # 单个observer进程内存上限 system_memory: 4G # 系统预留内存 cpu_count: 8 datafile_size: 50G # 数据文件初始大小 log_disk_size: 100G # 日志磁盘大小 # 网络配置 devname: eth0 mysql_port: 2881 rpc_port: 2882 # 高可用配置定义3个Zone每个Zone一个副本 replication_num: 3 zone_list: [zone1, zone2, zone3] server1: zone: zone1 server2: zone: zone2 server3: zone: zone3部署集群# 1. 检查并自动安装 OceanBase 软件包 obd cluster deploy obtest -c obcluster.yaml # 2. 启动集群 obd cluster start obtest # 3. 查看集群状态 obd cluster display obtest执行display命令后如果所有服务的状态status均为active则表明集群启动成功。三、 集群初始化与基础配置集群启动后需要通过命令行客户端连接并进行初始化设置。连接系统租户sys# 使用 OBD 自带的客户端连接-h 指定任意一个节点IP obclient -h192.168.1.101 -P2881 -urootsys -p # 或者使用 MySQL 客户端 mysql -h192.168.1.101 -P2881 -urootsys -p修改 rootsys 密码首次必须ALTER USER root IDENTIFIED BY YourStrongPassword123;创建业务租户OceanBase 采用多租户架构。系统租户sys主要用于管理业务数据应存放在独立的业务租户中。-- 1. 创建资源单元配置Resource Unit定义租户的CPU、内存等资源上限 CREATE RESOURCE UNIT my_unit_config MAX_CPU 2, MIN_CPU 1, MEMORY_SIZE 4G, LOG_DISK_SIZE 20G, MAX_IOPS 10000, MIN_IOPS 1000; -- 2. 创建资源池将资源单元与 Zone 关联 CREATE RESOURCE POOL my_resource_pool UNIT my_unit_config, UNIT_NUM 1, -- 每个Zone上的单元数量 ZONE_LIST (zone1, zone2, zone3); -- 3. 创建业务租户并指定字符集、副本数等 CREATE TENANT IF NOT EXISTS my_tenant RESOURCE_POOL_LIST (my_resource_pool), PRIMARY_ZONE RANDOM, -- 主副本优先分布策略 COMMENT 我的业务租户, CHARSET utf8mb4, REPLICA_NUM 3, -- 副本数通常与Zone数一致 ZONE_LIST (zone1, zone2, zone3), OB_COMPATIBILITY_MODE mysql; -- 兼容MySQL模式 -- 4. 为业务租户创建管理用户 CREATE USER my_user IDENTIFIED BY UserPassword123; GRANT ALL PRIVILEGES ON *.* TO my_user;四、 连接与验证业务租户连接业务租户mysql -h192.168.1.101 -P2881 -umy_usermy_tenant -p # 或 obclient -h192.168.1.101 -P2881 -umy_usermy_tenant -p执行基本操作验证-- 在业务租户连接下执行 -- 1. 创建测试数据库和表 CREATE DATABASE test_db; USE test_db; CREATE TABLE test_table ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), create_time DATETIME DEFAULT CURRENT_TIMESTAMP ); -- 2. 插入和查询数据 INSERT INTO test_table (name) VALUES (OceanBase Test); SELECT * FROM test_table; -- 3. 查看表分布验证分布式特性 SELECT /* READ_CONSISTENCY(WEAK)*/ table_name, partition_id, svr_ip FROM oceanbase.__all_virtual_proxy_schema WHERE table_nameTEST_TABLE\G五、 关键参数调优与管理安装后根据业务负载调整关键参数至关重要。参数类别关键参数说明与建议调整场景内存与缓存memory_limitsystem_memoryob_sql_work_area_percentage控制OBServer总内存和系统内存。ob_sql_work_area_percentage用于排序、哈希连接等操作的工作区内存占比OLAP场景可适当调高。日志与恢复clog_sync_time_warn_thresholdundo_retention控制Redo日志同步告警阈值和MVCC多版本数据保留时间。根据对数据恢复和磁盘空间的需求调整。超时与重试ob_query_timeoutob_trx_timeout设置查询和事务的超时时间防止慢查询长期占用资源。备份与归档data_backup_destlog_archive_dest生产环境必须配置。设置数据备份和日志归档的路径通常为NFS或OSS这是实现数据恢复的基础。参数修改示例-- 在 sys 租户下修改集群级参数 ALTER SYSTEM SET memory_limit16G SERVER192.168.1.101:2882; -- 或修改租户级参数 ALTER TENANT my_tenant SET ob_sql_work_area_percentage30;六、 生产环境高可用考量对于生产环境仅完成基础安装是不够的还需规划高可用和监控。部署 OBProxyOBProxy 是 OceanBase 的智能路由代理对应用透明提供读写分离、故障自动切换、连接池等功能。# 使用 OBD 部署 OBProxy # 在单独的配置文件中定义 OBProxy 节点然后执行部署和启动 obd cluster deploy obproxy-test -c obproxy.yaml obd cluster start obproxy-test应用应连接 OBProxy 的地址默认端口 2883而非直连 OBServer。配置监控与告警OCP (OceanBase Cloud Platform)官方的集中式管理平台提供监控、告警、备份恢复、性能诊断等全套运维能力是生产运维的首选。Prometheus Grafana社区方案通过 exporter 采集 OceanBase 指标在 Grafana 中展示监控大盘。制定备份策略-- 1. 设置备份路径 ALTER SYSTEM SET data_backup_destfile:///obbackup/data; ALTER SYSTEM SET log_archive_destfile:///obbackup/archive; -- 2. 开启日志归档 ALTER SYSTEM ARCHIVELOG; -- 3. 发起一次全量备份可配置定时任务 ALTER SYSTEM BACKUP DATABASE;通过以上步骤您就完成了 OceanBase 数据库从环境准备、自动化部署、初始化配置到基础验证的全过程。对于生产环境务必在部署后详细测试高可用切换、备份恢复等关键场景并建立完善的监控体系。参考来源OceanBase 4.X-2F1A 仲裁高可用方案初探openclaw安装配置OpenClaw安装配置OpenClaw 安装配置指南快速安装 OpenClaw安装与配置指南OpenClaw七| Skills 安装与配置