楞头小白初探OB离线部署企业版111集群
先发总结,部署过程 大致如下:
环境准备
安装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://
在弹出的登录页面,使用默认账号 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运行时内存上限 |