先发总结,部署过程 大致如下:
环境准备
安装OAT
通过OAT部署OCP
通过OCP部署OB集群
通过OCP部署OBProxy
创建租户
初期参数优化
一、系统规划
1.网络规划
IP | 服务 | 机房 | 架构 | 说明 |
133.193.19.30 | OCP、OAT | X86 | OCP服务器 | |
133.193.19.31 | OMS | X86 | OMS服务器 | |
133.193.19.32 | Observer+Proxy | X86 | OBserver | |
133.193.19.33 | OBserver+Proxy | X86 | OBserver | |
133.193.19.34 | OBserver+Proxy | X86 | OBserver |
2.服务器配置
规划用途 | 数量 | 架构 | CPU | 内存 | 硬盘 | 网卡 |
OCP | 1 | X86 | 128C | 256G | 3.6T | 双万兆 |
OMS | 1 | X86 | 128C | 256G | 3.6T | 双万兆 |
OB ZONE1 | 1 | X86 | 128C | 256G | 3.6T | 双万兆 |
OB ZONE2 | 1 | X86 | 128C | 256G | 3.6T | 双万兆 |
OB ZONE3 | 1 | X86 | 128C | 256G | 3.6T | 双万兆 |
3.安装介质
序号 | 组件名称 | 版本号 | 文件名 |
1 | docker安装脚本 | docker-18.09.9 | install_docker.sh |
2 | Docker | docker-18.09.9 | docker-18.09.9.tgz |
3 | OAT | oat4.1.2 | oat_4.1.2_20230714_x86.tgz |
4 | OCP | ocp-4.1.0 | ocp410.tar.gz |
5 | MetaOB | OB2277_20230330 | meta_OB2277_OBP329_x86_20230330.tgz |
6 | OBProxy | obproxy-3.2.7.1 | obproxy-3.2.7.1-20220908163027.el7.x86_64.rpm |
7 | OB_Cluster | oceanbase-3.2.3.3 | oceanbase-3.2.3.3-110020022023092816.el7.x86_64.rpm |
8 | OBclient | obclient-2.2.3 | obclient-2.2.3-20230628165752.el7.x86_64.rpm |
9 | ODC | odc4.1.3 | OceanBase Developer Center Setup 4.1.3-bp3 win64jre.exe |
10 | OMS | OMS4.1.0 | oms.feature_4.1.0.202307172130.tar.gz |
11 | influxdb | influxdb_1.8 | influxdb_1.8.tar.gz |
二、环境准备
1. 配置OCP/OAT/OMS 服务器
登录OCP/OAT/OMS 服务器(133.193.19.30为OCP、OAT服务器,133.193.19.31为OMS服务器)做如下配置
1.1.修改hostname
按规划调整hostname,便于分辨服务器
1.2. 配置挂载点
note:不同功能节点所需创建的文件系统名称及空间大小是不同的
1)下面为OAT服务器操作:
创建目录
mkdir -p /data/1
mkdir -p /data/log1
mkdir -p /oat
mkdir -p /docker
2)下面为OMS服务器操作:
mkdir -p /data/1
mkdir -p /data/log1
mkdir -p /docker
1.3. 创建LV
note:建议 ext4,数据盘大于 16 TB 时使用 xfs;oms 和ocp 节点不使用条带,OBserver使用条带。
1)下面为OAT服务器操作:
创建pv
pvcreate /dev/sda
pvcreate /dev/sdb
pvcreate /dev/sdc
pvcreate /dev/sdd
创建vg
vgcreate obvg /dev/sda
扩展vg
vgextend obvg /dev/sdb
vgextend obvg /dev/sdc
vgextend obvg /dev/sdd
创建lv
lvcreate -L 500G -n lv_home obvg
lvcreate -L 400G -n lv_data obvg
lvcreate -L 400G -n lv_datalog obvg
lvcreate -L 1100G -n lv_docker obvg
lvcreate -L 1100G -n lv_oat obvg
格式化
mkfs.ext4 /dev/obvg/lv_data
mkfs.ext4 /dev/obvg/lv_datalog
mkfs.ext4 /dev/obvg/lv_home
mkfs.ext4 /dev/obvg/lv_docker
mkfs.ext4 /dev/obvg/lv_oat
2)下面为OMS服务器操作:
创建pv
pvcreate /dev/sda
pvcreate /dev/sdb
pvcreate /dev/sdc
pvcreate /dev/sdd
创建vg
vgcreate obvg /dev/sda
扩展vg
vgextend obvg /dev/sdb
vgextend obvg /dev/sdc
vgextend obvg /dev/sdd
创建lv
lvcreate -L 500G -n lv_home obvg
lvcreate -L 500G -n lv_docker obvg
lvcreate -L 1500G -n lv_data obvg
lvcreate -L 1000G -n lv_datalog obvg
格式化
mkfs.ext4 /dev/obvg/lv_home
mkfs.ext4 /dev/obvg/lv_docker
mkfs.ext4 /dev/obvg/lv_data
mkfs.ext4 /dev/obvg/lv_datalog
1.4. 挂载目录
下面为OAT服务器操作:
添加开机自动挂载
vi /etc/fstab
/dev/mapper/obvg-lv_data /data/1 ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
/dev/mapper/obvg-lv_datalog /data/log1 ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
/dev/mapper/obvg-lv_home /home ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
/dev/mapper/obvg-lv_docker /docker ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
/dev/mapper/obvg-lv_oat /oat ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
挂载目录
mount -a
下面为OMS服务器操作:
添加开机自动挂载
vi /etc/fstab
/dev/mapper/obvg-lv_home /home ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
/dev/mapper/obvg-lv_docker /docker ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
/dev/mapper/obvg-lv_data /data/1 ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
/dev/mapper/obvg-lv_datalog /data/log1 ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
挂载目录
Mount -a
1.5. 配置时钟源
本例以133.193.19.31为源,其它节点配置以下内容
***************所有服务器先关闭防火墙
133.193.19.30节点配置如下
vi /etc/chrony.conf 插入以下内容
server 133.193.19.31 iburst
注释掉下图
检查是否开机自启动: systemctl is-enabled chronyd.service
检查是否开启状态: systemctl status chronyd.service
开启 chronyd: systemctl start chronyd.service
关闭 chronyd: systemctl stop chronyd.service
133.193.19.31下配置如下内容
vi /etc/chrony.conf 插入以下内容
server 133.193.19.31
allow all
local stratum 10
检查是否开机自启动: systemctl is-enabled chronyd.service
检查是否开启状态: systemctl status chronyd.service
开启 chronyd: systemctl start chronyd.service
关闭 chronyd: systemctl stop chronyd.service
查看chrony客户端时间同步状态,确保延迟在100ms以内,安装时,确认OB所有节点之前chrony延迟最多为100MS,否则OB安装会报错、OB运行面临非常多不可预知的报错。
133.193.19.30下执行下面查看时间是否同步过来
clockdiff 133.193.19.31
1.6. 安装依赖
每台服务器都需要执行以下安装
rpm -ivh libatomic-7.3.0-20190804.35.p02.ky10.x86_64.rpm
2. 配置observer 服务器(一共三台)
2.1. 上传安装包
有关各安装包的具体版本,请参考《准备安装包》。
2.2.修改hostname
按规划调整hostname,便于分辨服务器
2.3.配置挂载点
在挂载前需要在每台服务器上创建对应目录用于挂载硬盘
[root@observer1 ~]# mkdir -p /data/1
[root@observer1 ~]# mkdir -p /data/log1
2.4.创建LV
note:建议ext4,数据盘大于 16 TB时使用 xfs;OBserver使用条带。
创建pv
pvcreate /dev/sda
pvcreate /dev/sdb
pvcreate /dev/sdc
pvcreate /dev/sdd
创建vg
vgcreate obvg /dev/sda
扩展vg
vgextend obvg /dev/sdb
vgextend obvg /dev/sdc
vgextend obvg /dev/sdd
创建lv
lvcreate -L 500G -n lv_home obvg
lvcreate -L 2000G -n lv_data obvg
lvcreate -L 1000G -n lv_datalog obvg
格式化
mkfs.ext4 /dev/obvg/lv_home
mkfs.ext4 /dev/obvg/lv_data
mkfs.ext4 /dev/obvg/lv_datalog
2.5.挂载目录
添加开机自动挂载
vi /etc/fstab
/dev/mapper/obvg-lv_home /home ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
/dev/mapper/obvg-lv_data /data/1 ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
/dev/mapper/obvg-lv_datalog /data/log1 ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0 0 0
挂载目录
mount -a
2.6. 配置时钟同步
OceanBase 数据库是一个分布式数据库,因此集群的多个节点以及 OCP 节点的时钟必须配置时钟同步服务 NTP 或者 chrony,保证所有节点的时钟偏差在 100 ms 以内,如chrony未配置,执行下面命令配置chrony。
***************所有服务器先关闭防火墙
133.193.19.32/33/34下
vi /etc/chrony.conf 插入以下内容
server 133.193.19.31 iburst
注释掉下图
检查是否开机自启动: systemctl is-enabled chronyd.service
检查是否开启状态: systemctl status chronyd.service
开启 chronyd: systemctl start chronyd.service
关闭 chronyd: systemctl stop chronyd.service
查看chrony客户端时间同步状态,确保延迟在100ms以内,安装时,确认OB所有节点之前chrony延迟最多为100MS,否则OB安装会报错、OB运行面临非常多不可预知的报错。
clockdiff 133.193.19.31
2.7.安装依赖
每台服务器都需要安装
rpm -ivh libatomic-7.3.0-20190804.35.p02.ky10.x86_64.rpm
3.每台服务器挂载ios镜像,配置本地yum源
步骤如下:
mount -o loop -t iso9660 /root/Kylin-Server-V10-SP3-General-Release-2303-X86_64.iso /mnt
cd /etc/yum.repos.d
mkdir bk
mv *.repo bk/
echo "[EL]" >> /etc/yum.repos.d/itpux.repo
echo "name =Linux 7.x DVD" >> /etc/yum.repos.d/itpux.repo
echo "baseurl=file:///mnt" >> /etc/yum.repos.d/itpux.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/itpux.repo
echo "enabled=1" >> /etc/yum.repos.d/itpux.repo
cat /etc/yum.repos.d/itpux.repo
yum clean all
yum repolist
三、部署OAT
OAT 是 OceanBase 数据库生态产品的白屏自动化部署工具,OAT服务器可以与OCP服务器共用。部署前需要在OAT服务器(192.168.100.30)上安装docker和上传OAT 的 tar 包,用于自动化部署。
操作步骤
1. 将 OAT 的安装包、docker包和脚本上传至OAT服务器
2. 部署docker
3. 使用 root 用户执行以下命令,安装docker
sh install_docker.sh /root/docker-18.09.3.tgz /docker
4. 本地创建两个目录用于挂载 OAT 目录
其中,容器内的/data用于存放 OAT 系统日志及 Datax 与 OBLA 生成的文件;容器内的 /var/lib/mysql 用于存放 OAT 的数据库文件。
ll /oat/
5. 将 OAT 安装包装载为镜像
docker load -i oat_4.1.2_20230714_x86.tgz
6. 用docker images命令获取 OAT 镜像的标签
oat_image=`docker images | grep oat | awk '{printf $1":"$2"\n"}'`
7. 运行docker run命令启动OAT
docker run --name oat -d -v /oat/data_dir:/data -p 7000:7000 --restart on-failure:5 $oat_image
8. 验证OAT的可用性
在浏览器输入
OAT 的访问地址:http://192.168.100.30:7000
使用 admin 账号登录系统(默认密码为aaAA11__),初次登录时会强制提示修改密码。
四、部署OCP
1. 部署说明
部署 OceanBase 集群前需要先部署 OCP。有关OCP的产品介绍参考 https://www.oceanbase.com/product/ocp
2. 通过OAT部署
2.1. 添加服务器(部署ocp的服务器即可)
使用admin用户登录OAT,选择添加服务器
机房信息自定义输入
关于凭据,官方推荐使用ssh密钥连接:
操作命令如下:
ssh-keygen -t rsa
cat /root/.ssh/id_rsa.pub >>/root/.ssh/authorized_keys
cat /root/.ssh/id_rsa --将输出的内容粘到上图【私钥】里
由于此环境是测试环境,已与生产网络隔离,我使用的服务器密码验证,纯粹为了省事~~,小伙伴们生产上一定要用密钥噢
下图中时钟同步需要勾选并且添加配置时钟服务器ip
2.2. 扫描安装包
OAT服务器上将OMS、metadb、OCP、influxdb安装包复制到/oat/data_dir/images目录中,然后页面上在OAT页面上 系统与安全 > 安装包 > 添加镜像 > 本地扫描,扫描安装包。
2.3. 开始部署
部署 MetaDB
组件->创建组件->创建MetaDB,填写相应的信息(参数默认就行,服务器选择所有的observer的服务器)后点提交,等待任务完成"> 产品服务->组件->创建组件->创建MetaDB,填写相应的信息(参数默认就行,服务器选择所有的observer的服务器)后点提交,等待任务完成
部署OCP
选择产品服务->产品->安装产品->安装OCP
2.3. 部署后检查
OCP 部署完成后可以登录 OCP 进行部署后检查。
访问 OCP
1. 在浏览器中输入 OCP 的访问地址,按回车键。
访问地址为:http://<OCP 服务器的 IP 地址>:8080
在弹出的登录页面,使用默认账号 admin 账号登录,密码为创建ocp时管理员密码。登录后请及时修改密码。
检查 MetaDB 集群信息
1. 在左侧导航栏上,单击 集群 。
2. 在 集群概览 页,查看性能指标,机器资源以及集群列表等是否展示正常。
3. 在 集群概览 页的 集群列表 中,找到 MetaDB 的集群并单击集群名,进入集群 总览 页,查看 MetaDB 数据库的基本信息、资源水位、Zone 列表、OBServer列表是否展示均正确。
检查监控状态
在 集群概览 所在的左侧导航栏中,单击 性能监控,进入集群的 性能监控 页面,查看数据库性能以及主机性能曲线是否显示正常。
五、部署 OceanBase 集群
1. 添加 OBServer机器到 OCP 资源池
部署 OceanBase 集群前,需要先将 OBServer机器添加到 OCP 资源池。
操作步骤
1. 在浏览器中输入 http://<OCP 服务器的 IP 地址>:8080,使用 admin 账号登录 OCP。
2. 在左侧导航栏上,选择 主机。
3. 在显示的页面的右上角,单击 添加主机。
4. 在弹出的对话框中,填写机器信息
各字段填写说明如下表所示。
字段 | 描述 |
IP 地址 | OBServer对应网卡的 IP,输入IP地址,敲回车键后确认输入,可支持同时输入多个IP地址。 |
ssh 端口 | 默认为 22。 |
选择机型 | 如果没有对应的机型,可以单击 新增机型,添加新的机型。机型是您为配置相同的主机指定的一个标签,建议您指定有意义的名称,便于更好地管理主机,比如observer98c512g。 |
选择机房 | 选择机器所处机房。机房信息包括 机房 与 区域。区域 用于表示主机所处的地理区域,一个物理区域下可以存着一个或多个物理机房。区域 和 机房 是 OceanBase 数据库进行负载均衡和 SQL 语句路由策略的参考项,请按照实际情况填写。 说明 如果是单机房部署,则三个 Zone 的 OBServer服务器分别位于不同机架,这里需要按规划填写机房加编号作为机房信息,例如 yangqiao_1,yangqiao_2,yangqiao_3。这样可以在创建 OceanBase 集群时把同一个机架上的机器限定在一个 Zone 里。 |
类型 | 主机类型,此处选择 物理机。 |
root密码 | 机器 root 用户的密码。 |
admin密码 | 机器 admin 用户的密码。 |
5. 完成后,单击 确定。
6. 状态检查
选择检查后修复
2. 创建 OceanBase 集群
前提条件
已获取待上传的 OceanBase RPM 版本包,这些安装包需要通过OB官方渠道获取。
操作步骤
1. 在浏览器中输入 http://<OCP 服务器的 IP 地址>:8080,使用 admin 账号登录 OCP。
2. 在左侧导航栏上,单击 集群。
3. 在 集群概览 页右上角,单击 新建集群。
4. 在 新建集群 页面,设置集群的基础信息。
基础信息相关说明如下表所示。
配置 | 描述 |
集群类型 | 可选择 主集群 或 备集群,此处选择 主集群。 |
集群名称 | 自定义待管理的集群的名称。集群名称必须以英文字母开头,可支持大小写字母、数字和下划线,长度为 2 个 ~ 48 个字符。 |
root@sys 密码 | 支持自定义或随机生成。密码需要满足以下复杂度条件:长度:8 位 ~ 32 位至少包含 2 个数字、2 个大写字母、2 个小写字母和 2 个特殊字符。 支持的特殊字符如下: ._+@#$%) |
OB 版本 | 单击 添加版本,上传 OceanBase RPM 版本包。 |
关联 OBProxy 集群 | 该选项用于关联已有的 OBProxy 集群,本例中不开启该选项。有关关联 OBProxy 集群的方法,请参见 《OCP 用户指南》。 |
5. 设置集群的部署模式信息。
默认是添加 3 个 Zone 的信息。
note:服务器cpu的架构是否与observer集群包的架构是否一致,若不一致,选择主机时会选择不到主机
每个 Zone 需要设置的信息及其说明如下表所示。
配置 | 描述 |
Zone 名称 | 一般会有一个默认名称,您可以根据需要自定义名称。Zone 名称必须以英文字母开头,可支持大小写字母、数字和下划线,长度为 2 个 ~32 个字符。 |
机房 | Zone 所在的机房,每个 Zone 只能部署在同一个机房。 |
机型 | 可选项。如果选择了机型,后面主机列表会根据机型进行过滤。 |
机器选择方式 | 选择 手动选择,选择刚刚添加的机器。 |
IP | 手动从列表中选择若干个 IP。 |
Root Server 位置 | 您可以选择一个 IP 作为 RootService 所在的机器。 |
优先级排序 | Zone 的优先级排序。该优先级顺序影响 sys 租户的 Primary Zone 的优先级顺序。左边的列表框中显示了当前集群的所有 Zone。您可以在左侧列表框中选择一个或多个 Zone 添加到右侧的列表框中,默认先选择的 Zone 的优先级高于后选择的 Zone;一次选中的多个 Zone 的优先级相同。移动到右侧的列表框中后,您也可以在右侧的列表框中通过拖拽调整顺序,列表框上方的 Zone 的优先级高于下方的 Zone。 |
6. 完成后,单击 提交。
7. 在弹出的 确认提交信息 对话框中,确认信息无误后,单击 确定。
六、部署OBProxy
1.部署说明
OBProxy 可以将用户发起的数据访问请求转发到正确的OBServer上,需要在每台OBServer服务器上部署OBProxy。
2. 部署 OBProxy
前提条件
部署 OBProxy 时需要上传 OBProxy 的版本安装包,请确认已获取待上传的 OBProxy RPM 版本包。
操作步骤
1. 在左侧导航栏单击 OBProxy,进入 OBProxy 页面。
2. 单击右上方的 创建 OBProxy 集群。
3. 在 创建 OBProxy 集群 页面填写如下信息:
1)在 基本信息 中填写 集群名称、Root@proxysys 密码、访问地址、访问端口、可连接 OB 集群,添加或删除 可连接 OB 集群,填写 SQL 端口、Exporter 端口,选择或上传对应的软件版本
###关闭录入proxyro账号的密码
2)在 部署模式 中选择 机房、机型、主机,添加或删除 OBProxy。
3)打开 高级设置, 添加或修改启动参数和其它参数。
参数默认,后续统一修改
4. 单击 提交,完成 OBProxy 部署。
七、创建 OceanBase 业务租户
1. 查看业务租户可用资源
部署成功后,OceanBase 数据库默认会创建一个名为 sys 的租户,该租户用于管理 OceanBase 数据库,不建议在 sys 租户中存储业务数据。因此,在使用 OceanBase 数据库前,需要创建业务租户。
操作步骤
当 OceanBase 集群部署完成后,整个服务器的 CPU、内存会分配给操作系统和 OceanBase 系统租户,其余的 CPU 和内存资源才是业务租户可以分配的。
1. 以 admin 账号登录 OCP 。
默认进入 集群概览 页面。
2. 在 集群列表 选项卡中单击集群名称。
默认进入 总览 页面。
3.在 OBServer列表选项卡中,可以查看服务器的剩余资源。
OceanBase 会为操作系统预留 2 个 CPU 和 4 GB 内存,因此业务租户可用大小的计算方式如下:
· CPU :服务器 CPU 核数 - 已使用核数 - 2 (向下取整)
· 内存:服务器可用内存大小 - 已使用内存大小 - 4 GB
2. 创建租户
2.1. 操作步骤
1. 以 admin 账号登录 OCP 。默认进入 集群概览 页面。
2. 在左侧导航栏上,单击 租户。
3. 在 租户概览 页面右上角,单击 新建租户。
4. 在 新建租户 页面,填写 基础信息。
集群选择刚刚创建的 OceanBase 集群。
输入 租户名称。
租户名称格式为英文大小写字母、数字和下划线的组合,长度为 2~32 个字符。
5. 填写 Zone信息。
为 Zone1、Zone2 和 Zone3 设置副本类型、Unit 规格和 Unit 数量。
选中集群后,系统会根据所选集群的 Zone 信息给出可配置的 zone 列表;对于无需做副 本分布的 Zone,可以通过最右侧的按钮删除该zone条目。
对 Zone 优先级 进行排序。
同时选择多个 Zone 添加到右侧后,可设置为同一优先级。
6. 填写基本设置
7. 单击 提交。
3.部署后验证
创建 OceanBase 租户后,可以通过登录方式验证 OBProxy 服务与 OceanBase 数据库的连通性。
4. 创建用户
操作步骤
1.以 admin 账号登录 OCP 。默认进入 集群概览 页面。
2.在左侧导航栏上,单击 租户。
3.在租户概览页面下方,单击用户管理
4.在用户管理页面右上角单击新建用户
5.新建业务用户权限如下:
note:业务租户创建完成后,需要创建一个具备全部权限的管理账号,因为一旦root/sys账号口令丢失只能重建集群,这点有点匪夷所思
八、参数列表
初期可优化参数参考
组件 | 参数类型 | type | 参数名称 | 修改值 | 初始值 | 说明 |
OB | cluster | parameter | enable_merge_by_turn | FALSE | TRUE | 除非业务应用有配置重连尝试,否则建议关闭 |
OB | cluster | parameter | large_query_threshold | 5s | 100ms | 超过时间的请求可能被暂停,暂停后自动变成大查询请求,大查询请求将在单独的队列进行调度。 |
OB | cluster | parameter | clog_sync_time_warn_threshold | 1s | 100ms | clog在主从之间同步超过多长时间报WARN日志,建议1s,默认100ms---暂时没有告警指标与之对应 --没有影响,不需要监控 |
OB | cluster | parameter | freeze_trigger_percentage | 40 | 70 | 用于设置租户触发冻结内存转储的使用阈值 |
OB | cluster | parameter | max_kept_major_version_number | 1 | 2 | 设置数据保留的冻结版本数量 |
OB | cluster | parameter | resource_soft_limit | 100 | 50 | 资源软负载开关,控制资源均衡水位,默认为50%,即CPU内存使用超过50%就进行unit均衡,线上建议调整为100,达到手工控制unit分布的效果和resource_hard_limit配置项一起使用。 如果server的资源占用比少于resource_soft_limit,按best_fit来分配unit;如果大于resource_soft_limit,我是按照leaset_load来分配unit。CPU 和内存等资源进行分配的时候,资源总量是实际数量乘以该百分比的值。最终 server 资源占比不能超过 resource_hard_limit。 |
OB | cluster | parameter | syslog_io_bandwidth_limit | 30M | 30MB | 用于设置系统日志所能占用的磁盘 IO 带宽上限,超过带宽上限容量的系统日志将被丢弃.将打印以下信息。REACH SYSLOG RATE LIMIT. |
OB | cluster | parameter | trace_log_slow_query_watermark | 1s | 100ms | 打印trace log慢查询控制阈值 --写到observer.log日志,阈值大小根据具体业务和关注方来决定; 查看方法:根据sql文本找到sql的trace_id,根据trace_id在日志中检索 |
OB | cluster | parameter | memory_limit_percentage | 90 | 80 | 物理内存使用限制,默认为80,建议256以上的物理机调整为90,提高内存使用率 |
OB | cluster | parameter | system_memory | 50G | 30G | 设置系统预留的内存容量,给observer进程使用 --增加监控,租户500 |
OB | cluster | parameter | data_copy_concurrency | 100 | 20 | 数据拷贝并发为100(复制迁移可以进行的最大任务数上限) |
OB | cluster | parameter | server_data_copy_out_concurrency | 10 | 2 | 迁移任务时,服务器上数据传出并发为10 |
OB | cluster | parameter | server_data_copy_in_concurrency | 10 | 2 | 迁移任务时,服务器上数据传入并发为10 |
OB | cluster | parameter | minor_freeze_times | 50 | 100 | 当内存超过预设限制后会触发minor freeze或major freeze,此选项指定在触发的连续两次major freeze之间触发的minor freeze次数 --查看转储次数 select tenant_id, svr_ip, freeze_cnt from __all_virtual_tenant_memstore_info; |
OB | cluster | parameter | clog_expire_days | 30 | 3 | 单位为天,此配置项与 clog_disk_utilization_threshold 配置项共同作用,但优先级低于 clog_disk_utilization_threshold,即当 Clog 占用磁盘水位线超过 80%,但 Clog 文件最后修改时间距离当前时间小于 clog_expire_days 配置项设置的时间,Clog 文件仍然会被删除。 |
OB | cluster | parameter | enable_syslog_recycle | TRUE | FALSE | 启用日志循环 |
OB | cluster | parameter | max_syslog_file_count | 300 | 0 | 用于设置在回收日志文件之前可以容纳的日志文件数量,单个日志256M,300个文件总体占75G左右 (/home/admin/oceanbase/log/目录中的每个类型日志都保留300个) |
OB | tenant | parameter | clog_max_unconfirmed_log_count | 5000 | 1500 | 用于设置事务模块中未确认日志的最大数量。事务压力大的时候,CLOG滑动窗口容易满:(租户级参数,tenant=all) |
OB | tenant | parameter | writing_throttling_trigger_percentage | 80 | 100 | 在memstore的内存使用率达到80%时开启写入限速:(租户级参数,tenant=all) |
OB | tenant | variables | max_allowed_packet | 104857600 | 4194304 | 用于设置最大网络包大小,单位是 Byte。 |
OB | tenant | variables | enable_reroute | TRUE | FALSE | |
OB | tenant | variables | ob_proxy_readonly_transaction_routing_policy | TRUE | FALSE | |
obproxy | obproxy | 探活配置 | sock_option_flag_out | 3 | 1 | OBProxy 和 OBServer 之间 tcp 的特性启用参数,2代表keepalive,1表示NODELAY,3=1+2 |
obproxy | obproxy | 探活配置 | client_sock_option_flag_out | 3 | 2 | 客户端和 OBProxy 之间 tcp 的特性启用参数,2代表keepalive,1表示NODELAY,3=1+2 |
obproxy | obproxy | 探活配置 | server_tcp_keepidle | 5 | 0 | 启动keepalive探活前的idle时间,5秒: |
obproxy | obproxy | 探活配置 | client_tcp_keepidle | 5 | 0 | 启动keepalive探活前的idle时间,5秒: |
obproxy | obproxy | 探活配置 | server_tcp_keepintvl | 5 | 0 | 两个keepalive探活包之间的时间间隔,5秒: |
obproxy | obproxy | 探活配置 | client_tcp_keepintvl | 5 | 0 | 两个keepalive探活包之间的时间间隔,5秒: |
obproxy | obproxy | 探活配置 | server_tcp_keepcnt | 2 | 0 | 最多发送多少个keepalive包,2个。最长5+2*5=15秒发现dead_socket: |
obproxy | obproxy | 探活配置 | client_tcp_keepcnt | 2 | 0 | 最多发送多少个keepalive包,2个。最长5+2*5=15秒发现dead_socket: |
obproxy | obproxy | 探活配置 | server_tcp_user_timeout | 0 | 5 | 等待TCP层ACK确认消息的超时时长,默认5秒: |
obproxy | obproxy | 探活配置 | client_tcp_user_timeout | 0 | 5 | 等待TCP层ACK确认消息的超时时长,默认5秒: |
obproxy | obproxy | 内存配置 | proxy_mem_limited | 16G | 2G | obproxy运行时内存上限 |