diff --git a/README-CN.md b/README-CN.md index d99d0fc..740e668 100644 --- a/README-CN.md +++ b/README-CN.md @@ -68,7 +68,7 @@ source /etc/profile.d/obd.sh ## 快速启动 OceanBase 数据库 -安装 OBD 后,您可执行 `obd demo` 命令快速启动本地单节点 OceanBase 数据库。在此之前您需要确认以下信息: +[安装 OBD](./docs/zh-CN/200.quick-start/100.install-obd.md) 后,您可执行 `obd demo` 命令快速启动本地单节点 OceanBase 数据库。在此之前您需要确认以下信息: * `2881` 和 `2882` 端口没有被占用。 @@ -78,10 +78,6 @@ source /etc/profile.d/obd.sh * 机器可用磁盘空间不小于 `54 G`。 -> **说明** -> -> 如果以上条件不满足,您可参考文档 [使用 OBD 启动 OceanBase 数据库集群](../3.user-guide/400.user-guide/200.start-the-oceanbase-cluster-by-using-obd.md)。 - ```shell # 部署并启动 OceanBase 数据库 obd demo @@ -91,7 +87,7 @@ obclient -h127.0.0.1 -uroot -P2881 ## 使用 OBD 启动 OceanBase 数据库集群 -如何使用 OBD 启动 OceanBase 数据库集群,请参考文档[使用 OBD 启动 OceanBase 数据库集群](./docs/zh-CN/400.user-guide/200.start-the-oceanbase-cluster-by-using-obd.md)。 +如何使用 OBD 启动 OceanBase 数据库集群,请参考文档[使用 OBD 启动 OceanBase 数据库集群](./docs/zh-CN/400.user-guide/300.command-line-operations/200.start-the-oceanbase-cluster-by-using-obd.md)。 ## 其他 OBD 命令 diff --git a/README.md b/README.md index e7229df..40a0ba0 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ source /etc/profile.d/obd.sh ## Start an OceanBase cluster -After you deploy OceanBase Deployer (OBD), you can run the `obd demo` command to deploy and start OceanBase Database on a single local server. Make sure the following prerequisites are met: +After you [deploy OceanBase Deployer (OBD)](./docs/en-US/200.quick-start/100.install-obd.md), you can run the `obd demo` command to deploy and start OceanBase Database on a single local server. Make sure the following prerequisites are met: - Ports `2881` and `2882` are not occupied. @@ -70,10 +70,6 @@ After you deploy OceanBase Deployer (OBD), you can run the `obd demo` command to - At least 54 GB of disk space is available on the server. -> **Note** -> -> If the foregoing prerequisites are not met, see [Use OBD to start an OceanBase cluster](./docs/en-US/400.user-guide/200.start-the-oceanbase-cluster-by-using-obd.md). - ```shell # Deploy and start OceanBase Database. obd demo @@ -83,7 +79,7 @@ obclient -h127.0.0.1 -uroot -P2881 ## Use OBD to start an OceanBase cluster -If you want to know how to use OBD to start an OceanBase cluster, please see [Use OBD to start an OceanBase cluster](./docs/en-US/400.user-guide/200.start-the-oceanbase-cluster-by-using-obd.md). +If you want to know how to use OBD to start an OceanBase cluster, please see [Use OBD to start an OceanBase cluster](./docs/en-US/400.user-guide/300.command-line-operations/200.start-the-oceanbase-cluster-by-using-obd.md). ## Other OBD commands diff --git a/docs/en-US/400.user-guide/100.configuration-file-description.md b/docs/en-US/400.user-guide/100.configuration-file-description.md index 8aab36b..68162bc 100644 --- a/docs/en-US/400.user-guide/100.configuration-file-description.md +++ b/docs/en-US/400.user-guide/100.configuration-file-description.md @@ -33,7 +33,6 @@ oceanbase-ce: # The name of the component that is configured as follows. datafile_disk_percentage: 20 syslog_level: INFO enable_syslog_wf: false - enable_syslog_recycle: true max_syslog_file_count: 4 cluster_id: 1 # observer cluster name, consistent with obproxy's cluster_name diff --git a/docs/en-US/400.user-guide/400.OCP-takeover-OBD-deployment-cluster.md b/docs/en-US/400.user-guide/400.OCP-takeover-OBD-deployment-cluster.md index 4c183d9..ba3e052 100644 --- a/docs/en-US/400.user-guide/400.OCP-takeover-OBD-deployment-cluster.md +++ b/docs/en-US/400.user-guide/400.OCP-takeover-OBD-deployment-cluster.md @@ -68,7 +68,6 @@ oceanbase-ce: datafile_disk_percentage: 20 syslog_level: INFO enable_syslog_wf: false - enable_syslog_recycle: true max_syslog_file_count: 4 skip_proxy_sys_private_check: true enable_strict_kernel_release: false diff --git a/docs/zh-CN/100.what-is-obd.md b/docs/zh-CN/100.what-is-obd.md index c351ecf..2237cca 100644 --- a/docs/zh-CN/100.what-is-obd.md +++ b/docs/zh-CN/100.what-is-obd.md @@ -1,6 +1,6 @@ # 什么是 OBD -OBD 全称为 OceanBase Deployer,是 OceanBase 安装部署工具,通过命令行部署或白屏界面部署的方式,将复杂配置流程标准化,降低集群部署难度。详细操作请参考 [单机部署 OceanBase 数据库](400.user-guide/200.start-the-oceanbase-cluster-by-using-obd.md) 和 [通过白屏部署 OceanBase 集群](200.quick-start/300.use-ui-deploy-oceanbase.md)。 +OBD 全称为 OceanBase Deployer,是 OceanBase 安装部署工具,通过命令行部署或白屏界面部署的方式,将复杂配置流程标准化,降低集群部署难度。详细操作请参考 [单机部署 OceanBase 数据库](400.user-guide/300.command-line-operations/200.start-the-oceanbase-cluster-by-using-obd.md) 和 [通过白屏部署 OceanBase 集群](200.quick-start/300.use-ui-deploy-oceanbase.md)。 其中,命令行支持编辑配置文件,可以更加灵活的进行配置调整,适用于需要深度了解 OceanBase 的用户,有一定的使用门槛;白屏界面配置简单,通过页面的引导配置即可完成集群部署,适用于需要快速体验,构建标准环境的用户。 diff --git a/docs/zh-CN/1000.configure-rules.md b/docs/zh-CN/1000.configure-rules.md index 9b1e2aa..e560631 100644 --- a/docs/zh-CN/1000.configure-rules.md +++ b/docs/zh-CN/1000.configure-rules.md @@ -56,10 +56,12 @@ df --output=size,avail,target | datafile_size | 固定为 2G | 根据 `memory_limit` 配置的大小调整,其对应关系为:`datafile_size` = `memory_limit`*3 | | log_disk_size | 固定为 13G | 根据 `memory_limit` 配置的大小调整,其对应关系为:`log_disk_size` = `memory_limit`*3 | -需要注意如下两点: +需要注意如下三点: * 当磁盘空间不足时将调整 `memory_limit` 以保证存储安全。 +* 最大占用模式下,当磁盘空间充足时,OceanBase 集群会在满足 `memory_limit`*3 的情况下尽可能安全地占满磁盘。 + * OBServer 日志也会占用一定的磁盘空间,在计算前会根据挂载扣除对应磁盘的空间空间。 * 如未开启日志轮转则按照 1G 进行保留。 diff --git a/docs/zh-CN/1100.error-messages-in-obd.md b/docs/zh-CN/1100.error-messages-in-obd.md index 26cfec6..740ff17 100644 --- a/docs/zh-CN/1100.error-messages-in-obd.md +++ b/docs/zh-CN/1100.error-messages-in-obd.md @@ -252,6 +252,24 @@ obd cluster edit-config - 当前集群或租户不存在备租户,或您可以接受备租户不可用的风险,可重新执行命令,并加上 `--ignore-standb` 选项来跳过检查。 +## OBD-1016:xx.xx.xx.xx failed to get kernel parameter using command "sysctl -a" + +错误原因:连接异常或使用的操作系统暂不支持 `sysctl -a` 命令。 + +解决方法:您可重新操作,或到官网 [问答区](https://ask.oceanbase.com/) 进行提问,会有专业人员为您解答。 + +## OBD-1017:xx.xx.xx.xx [kernel] xxx must be xxx + +错误原因:操作系统的内核参数不在推荐的范围之内。 + +为确保 OceanBase 数据库在生产环境中的稳定性,OBD 在启动 OceanBase 数据库前将对系统环境及内核参数做一次检查,此项检查旨在确保系统配置符合 OceanBase 推荐的参数设定。在配置项未满足推荐标准的情况下,若 `production_mode` 配置为 `true` 或者执行命令时开启了 `--strict-check` 选项,实例将被识别为生产环境,此时会触发错误报告并终止启动,反之则仅会发出告警而不会终止启动流程。 + +解决方法:根据使用的环境不同有如下两种解决方法。 + +- 若您所用环境为生产环境,可通过 `sysctl -w {内核参数名}="建议值"` 命令或 `echo "内核参数名=建议值" >> /etc/sysctl.conf; sysctl -p` 命令修改参数配置,使其满足条件。 + +- 若您所用环境为测试环境,且没有权限修改内核参数,可通过 `obd cluster edit-config {deployname}` 命令修改配置文件,将配置项 `production_mode` 配置为 `false` 来跳过系统参数阻塞检查。 + ## OceanBase 部署相关报错 ### OBD-2000:x.x.x.x not enough memory @@ -348,18 +366,16 @@ obd cluster edit-config 对于情况 2,可在白屏界面 **集群配置** -> **更多配置** 中设置 devname。 -### OBD-2007:x.x.x.x xxx fail to ping x.x.x.x. Please check configuration `devname` +### OBD-2007:x.x.x.x xxx fail to ping x.x.x.x 错误原因:机器之间相互 ping 不通。 解决办法: -1. 执行 `obd cluster edit-config` 命令查看配置文件中的网卡配置(`devname`)是否与实际匹配,通过 `ip addr` 命令可以查看 IP 和网卡对应关系。 +1. 执行 `obd cluster edit-config` 命令查看配置文件中的网络配置(`devname`/`local_ip`)是否与实际匹配,可通过 `ip addr` 命令可以查看 IP 和网卡对应关系。 2. 检查各个节点网络是否畅通。 -3. 如果出现的错误为 `operation not permitted`,请检查 ping 文件权限,您可以尝试执行 `sudo chmod u+s /usr/bin/ping` 命令修改 ping 文件权限。 - ### OBD-2008:Cluster clocks are out of sync 错误原因:集群之间时钟超时。 @@ -482,6 +498,12 @@ obd cluster edit-config - 登陆到目标机器,为当前账号赋予对应目录的写权限。 +### OBD-4002: xxxx: Failed to obtain the configuration of the OceanBase database component + +错误原因:使用 OBAgent 监控 OceanBase 数据库时,OBAgent 和 OceanBase 数据库的服务器配置(配置文件中 `servers` 部分)需保持一致,未配置一致的情况下 OBAgent 无法获取 OceanBase 数据库配置。 + +解决方法:您可执行 `obd cluster edit-config` 命令修改配置文件中 OBAgent 组件的 `servers` 模块信息,修改后执行黑屏输出命令重启集群。 + ## ODP 相关报错 ### OBD-4100:x.x.x.x need config "rs_list" or "obproxy_config_server_url" @@ -591,6 +613,139 @@ obd cluster edit-config

该配置项修改后需执行 obd cluster redeploy 命令重启生效,该命令会销毁集群,重新部署,您集群中的数据会丢失,请先做好备份。

+## OCP 相关报错 + +### OBD-4350: The Server have running task + +错误原因:升级 OCP 时,OCP 中存在运行中的任务。 + +解决方法:为避免因升级 OCP 导致任务中断,请等待任务执行完成后,再重新进行检查。 + +### OBD-4351: The Server have gone + +错误原因:升级 OCP 时,OCP 中主机不处于在线状态。 + +解决方法:查询当前 OCP 管理主机的状态,详细操作可参见《OCP 云平台》文档 [管理主机操作列表](https://www.oceanbase.com/docs/common-ocp-1000000000348005)。 + +- 如果主机状态为 **新提交**,该主机是新添加的主机,请等添加主机任务完成后,重新进行检查。 + +- 如果主机状态为 **离线**,可以尝试重装 OCP Agent,详细操作可参见《OCP 云平台》文档 [重装 OCP Agent](https://www.oceanbase.com/docs/common-ocp-1000000000348006)。 + +### OBD-4352: Metadb version not fewer than V2.2.50 + +错误原因:OCP 的 MetaDB 版本低于 2.2.50。 + +解决方法:您可升级 OCP 的 MetaDB 至最新的 LTS 版本。 + +### OBD-4353: {server}: Excessive deviation between machine time and ob time + +错误原因: 主机时间和 MetaDB 时间不一致。 + +解决方法:您可参照如下步骤进行排查处理。 + +1. 在对应主机上执行如下命令确认服务器是否安装时钟同步服务(Chrony 或 NTP)。 + + ```shell + rpm -qa | grep chrony # 检查是否安装了 Chrony 服务 + rpm -qa | grep ntp # 检查是否安装了 NTP 服务 + ``` + + 根据输出结果有如下两种处理方式。 + + - 若返回相关版本信息,说明已安装对应时钟同步服务,请继续执行步骤 2。 + + - 若无返回信息,说明未安装对应时钟同步服务。若 Chrony 和 NTP 服务均未安装,请先安装时钟同步服务。Chrony 和 NTP 服务的安装与配置可参考互联网上分享的案例。此处只做简要说明。 + + - 执行如下命令安装时钟同步服务,Chrony 或 NTP 中任选一个安装即可。 + + ```shell + sudo yum install -y chrony # 安装 Chrony 服务 + sudo yum install -y ntp # 安装 NTP 服务 + ``` + + - 执行如下命令启动时钟同步服务。 + + ```shell + systemctl start chronyd # 启动 Chrony 服务 + systemctl start ntpd # 启动 NTP 服务 + ``` + + - 重新执行部署操作,若仍然报错,您可到官网 [问答区](https://ask.oceanbase.com/) 进行提问,会有专业人员为您解决。 + +2. 执行如下命令检查时钟同步进程(chronyd 或 ntpd)是否异常退出。 + + ```shell + systemctl status chronyd # 检查 Chrony 服务状态 + systemctl status ntpd # 检查 NTP 服务状态 + ``` + + 根据返回结果有如下两种处理方式。 + + - 若返回值信息中 Active 信息为 active(running),您可到官网 [问答区](https://ask.oceanbase.com/) 进行提问,会有专业人员为您解决。 + + - 若返回值信息中 Active 信息为 inactive(dead),则时钟同步服务异常。尝试执行如下命令重启服务。 + + ```shell + systemctl restart chronyd # 重启 Chrony 服务 + systemctl restart ntpd # 重启 NTP 服务 + ``` + + 重启服务后,可再次执行部署操作,若仍然报错,您可到官网 [问答区](https://ask.oceanbase.com/) 进行提问,会有专业人员为您解决。 + +### OBD-4354: {user}@{server}: Not exist + +错误原因: OCP 启动用户不存在。 + +解决方法:使用其他启动用户或者在 OCP 所在主机上创建启动用户,创建用户的操作可参见《OCP 云平台》文档 [用户规划](https://www.oceanbase.com/docs/common-ocp-1000000000368844)。 + +### OBD-4355: {user}@{ip}: user xxx not in sudoers or sudoers file not exist + +错误原因: 用户不能免密执行 sudo 命令。 + +解决方法: 为用户配置 sudo 免密或者使用其他有免密 sudo 权限的用户。设置 sudo 权限的步骤可参见《OCP 云平台》文档 [用户规划](https://www.oceanbase.com/docs/common-ocp-1000000000368844)。 + +### OBD-4356: failed to connect meta db + +错误原因: MetaDB 无法连接。 + +解决方法: 检查 MetaDB 的连接串是否正确。 + +### OBD-4357: database in jdbc_url is not exist + +错误原因: JDBC 连接中的 database 不存在。 + +解决方法: 在 MetaDB 中创建对应的 database。 + +### OBD-4358: unmatched jdbc url, skip meta db connection check + +错误原因: JDBC URL 格式错误。 + +解决方法: 检查 `jdbc_url` 的配置,确认满足示例形式:`"^jdbc:\S+://(\S+?)(|:\d+)/(\S+)"`。 + +### OBD-4359: {server}: ocp-server need java with version xxx and update release must greater than 161 + +错误原因: Java 版本不满足 OCP 要求。 + +解决方法: 升级 Java 版本到 OCP 要求的最小版本 `1.8.0_161` 或以上。 + +### OBD-4360: {server}: clockdiff not exists. Please install clockdiff manually + +错误原因: 主机上没有 clockdiff 命令。 + +解决方法: 安装 clockdiff。 + +### OBD-4361: tenant(xxx) alread exist + +错误原因: 租户已存在。 + +解决方法: 您可登录 MetaDB 删除同名租户,或使用其他租户名。 + +### OBD-4362: {server}:{path} access failed for current user, {server}:{cur_path} access succeed, please run `chmod -R 755 {cur_path}` + +错误原因: 用户没有操作涉及目录的权限。 + +解决方法: 您可执行输出的 chmod 命令为用户增加对应目录的权限。 + ## Config Server 相关报错 ### OBD-4401:Failed to start x.x.x.x ob-configserver @@ -631,7 +786,7 @@ ps -ef | grep $home_path/bin/ob-configserver - 在使用 sqlite3 数据库类型的情况下,`connection_url` 是否配置为绝对路径。 -### OBD-4403:x.x.x.x: /xxxx/xxxx/xxxx: permission denied +### OBD-4403:ob-configserver connect to sqlite failed: x.x.x.x: /xxx/xxx/xxx: permission denied 错误原因:Config Server 在使用 sqlite3 作为数据库的情况,配置文件中的 user 用户(未配置的情况下默认为当前用户)没有 `connection_url` 配置中目录的写权限。 @@ -647,7 +802,7 @@ ps -ef | grep $home_path/bin/ob-configserver - 登录到目标机器,为当前账号赋予对应目录的写权限 -### OBD-4404:xxxxx: failed to connect to database: xxxx +### OBD-4404:ob-configserver connect to mysql failed: xxx: failed url to connect to database: xxx 错误原因:`database_type` 设置为 `mysql` 时,`connection_url` 中配置的数据库无法连接。 diff --git a/docs/zh-CN/200.quick-start/200.quickly-start-the-oceanbase-database.md b/docs/zh-CN/200.quick-start/200.quickly-start-the-oceanbase-database.md index 8e76e75..47f188d 100644 --- a/docs/zh-CN/200.quick-start/200.quickly-start-the-oceanbase-database.md +++ b/docs/zh-CN/200.quick-start/200.quickly-start-the-oceanbase-database.md @@ -18,7 +18,7 @@

说明

  • -

    如果以上条件不满足,您可参见文档 单机部署 OceanBase 数据库

    +

    如果以上条件不满足,您可参见文档 单机部署 OceanBase 数据库

  • obd demo 命令的详细介绍可参见文档 快速部署命令

    diff --git a/docs/zh-CN/200.quick-start/300.use-ui-deploy-oceanbase.md b/docs/zh-CN/200.quick-start/300.use-ui-deploy-oceanbase.md index 2ea87b3..41dad29 100644 --- a/docs/zh-CN/200.quick-start/300.use-ui-deploy-oceanbase.md +++ b/docs/zh-CN/200.quick-start/300.use-ui-deploy-oceanbase.md @@ -57,7 +57,7 @@ OBD 自 V2.0.0 起支持白屏部署 OceanBase 数据库及相关组件,如 OB 1. 启动白屏界面 - 命令行执行 `obd web` 命令启动白屏界面,单击输出的地址访问白屏界面,在白屏界面中单击 **开启体验之旅** 即可进入到 OceanBase 数据库的配置界面。 + 命令行执行 `obd web` 命令启动白屏界面,单击输出的地址访问白屏界面,在白屏界面中单击 **开启体验之旅** 即可进入到 **欢迎使用 OceanBase 部署向导** 界面。在 **欢迎使用 OceanBase 部署向导** 界面选择 **OceanBase 及配套工具** 模块,单击 **确定** 后进入 OceanBase 数据库部署界面 ```shell [admin@test001 ~]$ obd web @@ -75,14 +75,14 @@ OBD 自 V2.0.0 起支持白屏部署 OceanBase 数据库及相关组件,如 OB

    在阿里云或其他云环境下,可能出现程序无法获取公网 IP,从而输出内网地址的情况,此 IP 非公网地址,您需要使用正确的地址访问白屏界面。

  • -

    obd web 命令绑定在 0.0.0.0 上,在多网卡部署的情况下,您可通过任一一个可访问的 IP 访问白屏界面。

    +

    obd web 命令绑定在 0.0.0.0 上,在多网卡部署的情况下,您可通过任意一个可访问的 IP 访问白屏界面。

- 将鼠标放置到白屏页面右上角 **中文** 字符处可根据显示的语种单击切换中英文页面。 + 鼠标放置到图形化操作界面右上角的 **中文** 字符处可根据显示的语种单击切换中英文界面。 - 中英文 + ![语种切换](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/obd/V2.4.0/zh-CN/200.quick-start/300.deploy-ocp-by-ui-01.png) 2. 部署配置 @@ -138,7 +138,7 @@ OBD 自 V2.0.0 起支持白屏部署 OceanBase 数据库及相关组件,如 OB * 数据库和各组件的端口均为默认值,可自定义设置(仅支持 1024~65535 范围),需确保设置的端口未被占用。 - * 单击打开 **更多配置** 按钮查看对应的集群或组件参数,可使用自动分配的配置,也可自定义各个参数。 + * 单击打开 **更多配置** 按钮查看对应的集群或组件参数,可使用自动分配的值进行配置,也可自定义各个参数。 全部配置完成后,单击 **下一步** 即可进入到 **预检查** 页面。 diff --git a/docs/zh-CN/2000.release-notes/1000.V2.3/1002.V2.3.0.md b/docs/zh-CN/2000.release-notes/1000.V2.3/1002.V2.3.0.md index 22b9f52..7308843 100644 --- a/docs/zh-CN/2000.release-notes/1000.V2.3/1002.V2.3.0.md +++ b/docs/zh-CN/2000.release-notes/1000.V2.3/1002.V2.3.0.md @@ -8,8 +8,8 @@ ## 发版目的 -* 支持 OceanBase 4.2 版本基于网络直通的主备库方案,详细信息可参见 [主备租户](../../400.user-guide/800.physical-standby-database/100.deploy-physical-standby-database.md) 章节。 +* 支持 OceanBase 4.2 版本基于网络直通的主备库方案,详细信息可参见 [主备租户](../../400.user-guide/300.command-line-operations/800.physical-standby-database/100.deploy-physical-standby-database.md) 章节。 -* 支持部署 Config Server,详细信息可参见 [通过 OBD 部署 Config Server](../../400.user-guide/900.deploy-ob-configserver.md)。 +* 支持部署 Config Server,详细信息可参见 [使用命令行部署 Config Server](../../400.user-guide/300.command-line-operations/350.deploy-ob-configserver.md)。 * 支持白屏部署时选择容量类型参数的单位。 diff --git a/docs/zh-CN/2000.release-notes/1020.V2.1/1031.V2.1.0.md b/docs/zh-CN/2000.release-notes/1020.V2.1/1031.V2.1.0.md index 737f224..14b7c30 100644 --- a/docs/zh-CN/2000.release-notes/1020.V2.1/1031.V2.1.0.md +++ b/docs/zh-CN/2000.release-notes/1020.V2.1/1031.V2.1.0.md @@ -12,9 +12,9 @@ * 新增命令 obd obdiag 支持诊断工具 oceanbase-diagnostic-tool,详细介绍可参见 [诊断工具命令组](../../300.obd-command/500.obdiag-command.md)。 -* 支持 OceanBase-CE V4.0 升级到 V4.1,详细操作可参见 [升级 OceanBase 数据库](../../400.user-guide/700.update-oceanbase.md)。 +* 支持 OceanBase-CE V4.0 升级到 V4.1,详细操作可参见 [升级 OceanBase 数据库](../../400.user-guide/300.command-line-operations/700.update-oceanbase.md)。 -* 支持 OCP Express V1.0.1 部署及 OCP Express 升级,详细操作可参见 [升级 OCP Express](../../400.user-guide/600.update-ocp-express.md)。 +* 支持 OCP Express V1.0.1 部署及 OCP Express 升级,详细操作可参见 [升级 OCP Express](../../400.user-guide/300.command-line-operations/600.update-ocp-express.md)。 * 白屏部署支持英文版。 diff --git a/docs/zh-CN/2000.release-notes/1030.V2.0/1040.V2.0.1.md b/docs/zh-CN/2000.release-notes/1030.V2.0/1040.V2.0.1.md index 7bc693f..a6cfe32 100644 --- a/docs/zh-CN/2000.release-notes/1030.V2.0/1040.V2.0.1.md +++ b/docs/zh-CN/2000.release-notes/1030.V2.0/1040.V2.0.1.md @@ -8,7 +8,7 @@ ## 发版目的 -`obd cluster reinstall` 命令支持 OCP Express,详细介绍可参见 [升级 OCP Express](../../400.user-guide/600.update-ocp-express.md)。 +`obd cluster reinstall` 命令支持 OCP Express,详细介绍可参见 [升级 OCP Express](../../400.user-guide/300.command-line-operations/600.update-ocp-express.md)。 ## 缺陷修复 diff --git a/docs/zh-CN/2000.release-notes/1030.V2.0/1041.V2.0.0.md b/docs/zh-CN/2000.release-notes/1030.V2.0/1041.V2.0.0.md index 5a58af9..52db49b 100644 --- a/docs/zh-CN/2000.release-notes/1030.V2.0/1041.V2.0.0.md +++ b/docs/zh-CN/2000.release-notes/1030.V2.0/1041.V2.0.0.md @@ -18,7 +18,7 @@ * `obd cluster autodeploy` 命令新增 `--generate-consistent-config/--gcc` 选项,用于生成一致的配置,默认关闭。 -* 支持部署 OCP Express,详细信息可参见 [使用命令行部署 OCP Express](../../400.user-guide/300.deploy-ocp-express-by-using-obd.md)。 +* 支持部署 OCP Express,详细信息可参见 [使用命令行部署 OCP Express](../../400.user-guide/300.command-line-operations/300.deploy-ocp-express-by-using-obd.md)。 * 支持部署 OBAgent V1.3.0。 diff --git a/docs/zh-CN/2000.release-notes/1070.V1.3/1083.V1.3.0.md b/docs/zh-CN/2000.release-notes/1070.V1.3/1083.V1.3.0.md index 9da0467..aa40315 100644 --- a/docs/zh-CN/2000.release-notes/1070.V1.3/1083.V1.3.0.md +++ b/docs/zh-CN/2000.release-notes/1070.V1.3/1083.V1.3.0.md @@ -8,7 +8,7 @@ ## 发版目的 -* 支持使用 OCP 接管 OBD 部署集群,详细介绍可参见 [使用 OCP 接管 OBD 部署的集群](../../400.user-guide/400.OCP-takeover-OBD-deployment-cluster.md)。 +* 支持使用 OCP 接管 OBD 部署集群,详细介绍可参见 [使用 OCP 接管 OBD 部署的集群](../../400.user-guide/300.command-line-operations/400.OCP-takeover-OBD-deployment-cluster.md)。 * 新增 OceanBase 数据库配置风格 cluster,支持设置 IDC 信息。 diff --git a/docs/zh-CN/2000.release-notes/990.V2.4/1000.V2.4.0.md b/docs/zh-CN/2000.release-notes/990.V2.4/1000.V2.4.0.md new file mode 100644 index 0000000..d4710ed --- /dev/null +++ b/docs/zh-CN/2000.release-notes/990.V2.4/1000.V2.4.0.md @@ -0,0 +1,31 @@ +# OceanBase 安装部署工具 V2.4.0 + +## 版本信息 + +* 发布时间:2023 年 11 月 29 日 + +* 版本号:V2.4.0 + +## 发版目的 + +* 支持图形化部署 OCP-CE V4.2.1,详细步骤可参见 [通过图形化界面部署 OCP](../../400.user-guide/200.ui-operations/300.deploy-ocp-by-ui.md)。 + +* 支持图形化部署 OCP-CE V4.2.1 及其 MetaDB,详细步骤可参见 [通过图形化界面部署 OCP](../../400.user-guide/200.ui-operations/300.deploy-ocp-by-ui.md)。 + +* 支持 OCP-CE 历史版本升级至 OCP-CE V4.2.1。 + +* 适配 OBDiag V1.4.0 和 V1.3.0,详细介绍可参见 [诊断工具命令组](../../300.obd-command/500.obdiag-command.md) 中 `obd obdiag check` 和 `obd obdiag analyze log` 命令。 + +* 适配 Kylin OS V10 版本。 + +* 增强对于 OceanBase 数据库的启动前检查。 + +* 优化 SQL 执行时的报错信息,提供 SQL 执行 Trace。 + +## 缺陷修复 + +* 修复部署 OceanBase 数据库 V4.2.0 及以上版本时依旧做网卡检查的问题。 + +* 修复将使用 OBD V2.3.0 之前版本部署的集群销毁时,可能会出现的 RuntimeError 问题。 + +* 修复开启 IO_DEFAULT_CONFIRM 的情况下,执行 `obd cluster edit-config` 命令后无法退出的问题。 diff --git a/docs/zh-CN/300.obd-command/100.cluster-command-groups.md b/docs/zh-CN/300.obd-command/100.cluster-command-groups.md index 9e9c2ab..df08399 100644 --- a/docs/zh-CN/300.obd-command/100.cluster-command-groups.md +++ b/docs/zh-CN/300.obd-command/100.cluster-command-groups.md @@ -64,7 +64,7 @@ obd cluster deploy [-c ] [-f] [-U] [-A] obd cluster deploy test -c all-components-min.yaml ``` -参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。 +参数 `deploy name` 为部署集群名,部署 OceanBase 集群时,若配置文件中未配置 `appname` 配置项,`deploy name` 会作为集群名(`appname`)传入配置文件。 选项说明见下表: @@ -300,7 +300,7 @@ Use `obd mirror list
` for more details ## obd cluster tenant create -使用该命令可创建租户。该命令仅对 OceanBase 数据库有效。该命令会自动创建资源单元和资源池,您不需要手动创建。 +使用该命令可创建租户,在此过程中会自动创建资源单元和资源池,您不需要手动创建。该命令仅适用于 OceanBase 数据库。 ```shell obd cluster tenant create [-n ] [flags] @@ -311,6 +311,11 @@ obd cluster tenant create test -n obmysql --max-cpu=2 --memory-size=2G --log-dis 参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。 +
+

说明

+

该命令创建的租户默认管理员用户密码为空,创建租户后的连接操作可参见《OceanBase 数据库》文档 连接 OceanBase 数据库 章节。

+
+ 选项说明见下表: | 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 | @@ -318,15 +323,15 @@ obd cluster tenant create test -n obmysql --max-cpu=2 --memory-size=2G --log-dis | -t/-n/--tenant-name | 否 | string | test | 租户名。对应的资源单元和资源池根据租户名自动生成,并且避免重名。 | | --max-cpu | 否 | float | 0 | 租户可用最大 CPU 数。为 `0` 时使用集群剩余全部可用 CPU。 | | --min-cpu | 否 | float | 0 | 租户可用最小 CPU 数。为 `0` 时等同于 `--max-cpu`。 | -| --max-memory | 否 | int | 0 | 租户可用最大内存。为 `0` 时使用集群剩余全部可用内存。实际值低于 `1G` 时报错。
OceanBase 数据库 V4.0.0.0 及以上版本不适用,可改用 `--memory-size`。
| -| --min-memory | 否 | int | 0 | 租户可用最小内存。为 `0` 时等同于 `--max-memory`。
OceanBase 数据库 V4.0.0.0 及以上版本不适用,可改用 `--memory-size`。
| +| --max-memory | 否 | int | 0 | 租户可用最大内存。为 `0` 时使用集群剩余全部可用内存。实际值低于 `1G` 时报错。

说明

OceanBase 数据库 V4.0.0.0 及以上版本不适用,可改用 --memory-size

| +| --min-memory | 否 | int | 0 | 租户可用最小内存。为 `0` 时等同于 `--max-memory`。

说明

OceanBase 数据库 V4.0.0.0 及以上版本不适用,可改用 --memory-size

| | --memory-size | 否 | int | 0 | 租户可用内存单元大小,仅支持 OceanBase 数据库 V4.0.0.0 及以上版本。 | -| --max-disk-size | 否 | int | 0 | 租户可用最大磁盘空间。为 `0` 时使用集群全部可用空间。实际值低于 `512M` 时报错。
OceanBase 数据库 V4.0.0.0 及以上版本不适用。
| +| --max-disk-size | 否 | int | 0 | 租户可用最大磁盘空间。为 `0` 时使用集群全部可用空间。实际值低于 `512M` 时报错。

说明

OceanBase 数据库 V4.0.0.0 及以上版本不适用。

| | --log-disk-size | 否 | int | 0 | 指定租户的 Unit 日志盘大小。默认值为 3 倍的内存规格值。最小值为 `2G`。 | | --max-iops | 否 | int |
  • 128(OceanBase 版本低于 V4.0.0)
  • 1024(OceanBase 为 V4.0.0 及以上版本)
| 租户 IOPS 上限,该参数的取值范围根据 OceanBase 版本的不同分为以下两种情况。
  • 当 OceanBase 数据库版本低于 V4.0.0 时取值范围为 \[128,+∞)。
  • 当 OceanBase 数据库版本为 V4.0.0 及以上版本时取值范围为 \[1024,+∞)。
| | --min-iops | 否 | int | 0 | 租户 IOPS 下限。取值范围等同于 `--max-iops`。为 `0` 时等同于 `--max-iops`。 | | --iops-weight | 否 | int | 0 | 指定租户 IOPS 的权重。仅支持 OceanBase 数据库 V4.0.0.0 及以上版本。 | -| --max-session-num | 否 | int | 64 | 租户最大 SESSION 数,取值范围为 \[64,+∞)。
OceanBase 数据库 V4.0.0.0 及以上版本不适用。
| +| --max-session-num | 否 | int | 64 | 租户最大 SESSION 数,取值范围为 \[64,+∞)。

说明

OceanBase 数据库 V4.0.0.0 及以上版本不适用。

| | --unit-num | 否 | int | 0 | 指定要创建的单个 Zone 下的单元个数,取值要小于单个 Zone 中的 OBServer 节点个数。为 `0` 自动获取最大值。 | | -z/--zone-list | 否 | string | 空 | 指定租户的 Zone 列表,多个 Zone 用英文逗号 `,` 间隔。为空时等于集群全部 Zone。 | | --mode | 否 | string | mysql | 指定租户的模式(MySQL/Oracle),OceanBase 数据库社区版仅支持 MySQL 模式的租户。 | @@ -341,7 +346,7 @@ obd cluster tenant create test -n obmysql --max-cpu=2 --memory-size=2G --log-dis ## obd cluster tenant create-standby -使用该命令可为主租户创建备租户,该命令仅对 OceanBase 数据库有效。该命令会自动创建资源单元和资源池,您不需要手动创建。命令的详细使用可参见 [使用 OBD 部署主备租户](../400.user-guide/800.physical-standby-database/100.deploy-physical-standby-database.md)。 +使用该命令可为主租户创建备租户,该命令仅对 OceanBase 数据库有效。该命令会自动创建资源单元和资源池,您不需要手动创建。命令的详细使用可参见 [使用 OBD 部署主备租户](../400.user-guide/300.command-line-operations/800.physical-standby-database/100.deploy-physical-standby-database.md)。 ```shell obd cluster tenant create-standby [options] @@ -357,7 +362,7 @@ obd cluster tenant create-standby test-standby test-primary tenant_a | 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 | |-----------------------|------|--------|--------------------------|------------------------------------------------------------------------| | -p/--tenant-root-password | 否 | string | 空 | 主租户的 root 用户登录密码,当主租户所在集群未创建过备租户时,该选项为必选项。 | -| --standbyro-password | 否 | string | 随机字符串 | 主租户提供给备租户的用户名(`standbyro`)对应的密码,不允许为空。若之前已经创建过 standbyro 用户(非 create-standby 命令创建),该选项为必选项。
**说明**
standbyro 用户密码中不允许包含:英文单引号(')、英文双引号(")、反引号(`)、英文分号(;)及空格( )。
| +| --standbyro-password | 否 | string | 随机字符串 | 主租户提供给备租户的用户名(`standbyro`)对应的密码,不允许为空。若之前已经创建过 standbyro 用户(非 create-standby 命令创建),该选项为必选项。

说明

standbyro 用户密码中不允许包含:英文单引号(')、英文双引号(")、反引号(`)、英文分号(;)及空格( )。

| | -t/-n/--tenant-name | 否 | string | 与主租户一致 | 指定备租户名。 | | --max-cpu | 否 | float | 与主租户一致 | 租户可用最大 CPU 数。为 `0` 时使用集群剩余全部可用 CPU。 | | --min-cpu | 否 | float | 与主租户一致 | 租户可用最小 CPU 数。为 `0` 时等同于 `--max-cpu`。 | @@ -374,7 +379,7 @@ obd cluster tenant create-standby test-standby test-primary tenant_a ## obd cluster tenant switchover -使用该命令可在主租户可用的情况下,将主租户与其中一个备租户交换角色。命令的详细使用可参见 [角色切换与解耦](../400.user-guide/800.physical-standby-database/200.role-switching.md)。 +使用该命令可在主租户可用的情况下,将主租户与其中一个备租户交换角色。命令的详细使用可参见 [角色切换与解耦](../400.user-guide/300.command-line-operations/800.physical-standby-database/200.role-switching.md)。 ```shell obd cluster tenant switchover [options] @@ -388,11 +393,11 @@ obd cluster tenant switchover test-standby tenant_a --tenant-root-password=***** | 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 | |-----------------------|------|--------|--------------------------|------------------------------------------------------------------------| | -p/--tenant-root-password | 是 | string | 空 | 主租户 root 用户的登录密码。 | -| --standbyro-password | 否 | string | 随机字符串 | 主租户提供给备租户的用户名(`standbyro`)对应的密码,不允许为空。若之前已经创建过 standbyro 用户(非 create-standby 命令创建),该选项为必选项。
**说明**
standbyro 用户密码中不允许包含:英文单引号(')、英文双引号(")、反引号(`)、英文分号(;)及空格( )。
| +| --standbyro-password | 否 | string | 随机字符串 | 主租户提供给备租户的用户名(`standbyro`)对应的密码,不允许为空。若之前已经创建过 standbyro 用户(非 create-standby 命令创建),该选项为必选项。

说明

standbyro 用户密码中不允许包含:英文单引号(')、英文双引号(")、反引号(`)、英文分号(;)及空格( )。

| ## obd cluster tenant failover -使用该命令可在主租户不可用的情况下,将一个备租户转换为主租户。命令的详细使用可参见 [角色切换与解耦](../400.user-guide/800.physical-standby-database/200.role-switching.md)。 +使用该命令可在主租户不可用的情况下,将一个备租户转换为主租户。命令的详细使用可参见 [角色切换与解耦](../400.user-guide/300.command-line-operations/800.physical-standby-database/200.role-switching.md)。 ```shell obd cluster tenant failover [options] @@ -407,7 +412,7 @@ obd cluster tenant failover test-standby tenant_a --tenant-root-password=****** ## obd cluster tenant decouple -使用该命令可解除主备关系,将一个备租户转换为独立的普通租户。命令的详细使用可参见 [角色切换与解耦](../400.user-guide/800.physical-standby-database/200.role-switching.md)。 +使用该命令可解除主备关系,将一个备租户转换为独立的普通租户。命令的详细使用可参见 [角色切换与解耦](../400.user-guide/300.command-line-operations/800.physical-standby-database/200.role-switching.md)。 ```shell obd cluster tenant decouple [options] @@ -499,3 +504,29 @@ obd cluster check4ocp test -V 4.0.0 |-----------------------|------|--------|--------------------------|------------------------------------------------------------------------| | -c/--components | 否 | string | 空 | 组件列表,用 `,` 间隔。用于指定需被 OCP 接管的组件。 | | -V/--version | 是 | string | 3.1.0 | OCP 版本号。 | + +## obd cluster export-to-ocp + +使用该命令可导出当前 OBD 中管理的 OceanBase 集群到 OCP 中进行管理。 + +```shell +obd cluster export-to-ocp [options] + +# simple example +obd cluster export-to-ocp test -a http://10.10.10.1:8080 -u admin -p password + +# full example +obd cluster export-to-ocp test -a http://10.10.10.1:8080 -u admin -p password --host_type=type1 --credential_name=credential1 +``` + +参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。 + +选项说明见下表: + +| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 | +|-----------------------|------|--------|--------------------------|------------------------------------------------------------------------| +| -a/--address | 是 | string | 无 | OCP 地址,格式如 `http://10.10.10.1:8080`。 | +| -u/--user | 是 | string | 无 | OCP 用户,需要具有接管集群相关操作的权限。 | +| -p/--password | 是 | string | 无 | OCP 用户密码。 | +| --host_type | 否 | string | "" | 主机类型,不配置的情况下,OBD 会选择查询到的第一个主机类型或者创建一个新的主机类型。 | +| --credential_name | 否 | string | "" | 凭据名称,不配置的情况下,OBD 会在 OCP 创建一个新的凭据。 | diff --git a/docs/zh-CN/300.obd-command/500.obdiag-command.md b/docs/zh-CN/300.obd-command/500.obdiag-command.md index 9deb21c..3c5b2bf 100644 --- a/docs/zh-CN/300.obd-command/500.obdiag-command.md +++ b/docs/zh-CN/300.obd-command/500.obdiag-command.md @@ -12,7 +12,7 @@ obd obdiag deploy ## obd obdiag gather -使用该命令可调用 obdiag 工具进行 OceanBase 数据库相关的诊断信息收集。 +使用该命令组可调用 obdiag 工具进行 OceanBase 数据库相关的诊断信息收集。 ```shell obd obdiag gather [options] @@ -38,7 +38,7 @@ gather type 包含如下: * all:一键统一收集所属 OceanBase 集群的诊断信息,包括收集 OceanBase 集群日志、主机信息、OceanBase 集群堆栈信息、OceanBase 集群 clog/slog 日志、OceanBase 集群 perf 信息。 -## obd obdiag gather log +### obd obdiag gather log 使用该命令可以一键收集所属 OceanBase 集群的日志。 @@ -61,7 +61,7 @@ obd obdiag gather log [options] | --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 | | --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 | -## obd obdiag gather sysstat +### obd obdiag gather sysstat 使用该命令可以一键收集所属 OceanBase 集群主机信息(主机 dmesg 信息、主机 CPU 信息、主机内存信息)。 @@ -78,7 +78,7 @@ obd obdiag gather sysstat [options] | --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 | | --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 | -## obd obdiag gather clog +### obd obdiag gather clog 使用该命令可以一键收集所属 OceanBase 集群的 clog 日志。 @@ -99,7 +99,7 @@ obd obdiag gather clog [options] | --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 | | --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 | -## obd obdiag gather slog +### obd obdiag gather slog 使用该命令可以一键收集所属 OceanBase 集群的 slog 日志。 @@ -120,7 +120,7 @@ obd obdiag gather slog [options] | --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 | | --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 | -## obd obdiag gather plan_monitor +### obd obdiag gather plan_monitor 该命令可以一键收集所属 OceanBase 集群指定 trace_id 的并行 SQL 的执行详情信息,便于在 AP 场景下 SQL 执行慢时分析算子层面的原因。 @@ -146,7 +146,7 @@ obd obdiag gather plan_monitor [options] | --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 | | --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 | -## obd obdiag gather stack +### obd obdiag gather stack 该命令可以一键收集所属 OceanBase 集群的堆栈信息,该采集项暂不支持 arm 版本。 @@ -163,7 +163,7 @@ obd obdiag gather stack [options] | --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 | | --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 | -## obd obdiag gather perf +### obd obdiag gather perf 该命令可以一键收集所属 OceanBase 集群的 perf 信息。 @@ -181,7 +181,7 @@ obd obdiag gather perf [options] | --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 | | --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 | -## obd obdiag gather obproxy_log +### obd obdiag gather obproxy_log 使用该命令可以一键收集所属 OceanBase 集群所依赖的 ODP 的日志。 @@ -204,7 +204,7 @@ obd obdiag gather obproxy_log [options] | --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 | | --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 | -## obd obdiag gather all +### obd obdiag gather all 使用该命令可以一键统一收集所属 OceanBase 集群的诊断信息,包括收集 OceanBase 集群日志、主机信息、OceanBase 集群堆栈信息、OceanBase 集群 clog/slog 日志、OceanBase 集群 perf 信息。 @@ -226,3 +226,43 @@ obd obdiag gather all [options] | --encrypt | 否 | string | false | 指定回传的文件是否加密,可配置为 true 或 false,默认为 false | | --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 | | --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 | + +## obd obdiag check + +使用该命令可帮助 OceanBase 数据库进行相关状态巡检,目前支持从系统内核参数、内部表等方式对 OceanBase 数据库进行分析,发现已存在或可能会导致集群出现异常问题的原因分析并提供运维建议。 + +```shell +obd obdiag check [options] +``` + +参数 `deploy name` 为部署集群名,可以理解为配置文件的别名。 + +选项说明见下表: + +| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 | +|---------------------|------|--------|---------------------------|-------------------------------------------------------------------| +| --cases | 否 | string | 默认为所有 tasks | 需要执行的巡检项目的集合名。当未赋值时执行所有的 tasks。task 的详细介绍可参见 《OceanBase 敏捷诊断工具》中 [通过 obdiag check 巡检 OceanBase 数据库集群](https://www.oceanbase.com/docs/common-obdiag-cn-1000000000314313) 一文。 | +| --report_path | 否 | string | ./check_report/ | 指定报告输出路径。 | +| --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 | + +## obd obdiag analyze log + +使用该命令可以一键分析 OceanBase 数据库的日志。 + +```shell +obd obdiag analyze log [options] +``` + +选项说明见下表: + +| 选项名 | 是否必选 | 数据类型 | 默认值 | 说明 | +|---------------------|------|--------|---------------------------|-------------------------------------------------------------------| +| --from | 否 | string | 默认为空 | 日志收集的开始时间,格式为: `yyyy-mm-dd hh:mm:ss`,不需要加引号,例如 `1970-01-01 12:00:00`。 | +| --to | 否 | string | 默认为空 | 日志收集的开始时间,格式为: `yyyy-mm-dd hh:mm:ss`,不需要加引号,例如 `1970-01-01 13:00:00`。 | +| --since | 否 | string | 默认为空 | 日志收集最近的某段时间,格式为: \ ,其中,n 表示待输入的时间数字,m 表示分钟,h 表示小时,d 表示天,例如 30m 表示收集最近 30 分钟的日志。 | +| --scope | 否 | string | all | 选择分析的 OceanBase 集群日志类型,可配置值介绍如下。
  • `observer`:分析启动和运行日志。
  • `election`:分析选举日志。
  • `rootservice`:分析 Root Service 日志。
  • `all`:分析所有日志。
| +| --grep | 否 | string | 默认为空 | 选择查询的关键字。 | +| --log_level | 否 | string | WARN | 指定分析的 OceanBase 数据库日志最低等级,可配置的日志等级由低到高依次为 `DEBUG`、`TRACE`、`INFO`、`WDIAG`、`WARN`、`EDIAG`、`ERROR`。 | +| --files | 否 | string | 默认为空 | 指定离线分析日志文件模式,需要传递相关 OceanBase 数据库日志或者日志路径,离线分析模式下 `--from`、`--to`、`--since` 将不需要设置。 | +| --store_dir | 否 | string | 默认为命令执行的当前路径 | 存储结果的本地路径 | +| --obdiag_dir | 否 | string | $HOME/oceanbase-diagnostic-tool | obdiag 的安装目录 | diff --git a/docs/zh-CN/400.user-guide/100.configuration-file-description.md b/docs/zh-CN/400.user-guide/100.configuration-file-description.md index 2b6ebca..8d9a625 100644 --- a/docs/zh-CN/400.user-guide/100.configuration-file-description.md +++ b/docs/zh-CN/400.user-guide/100.configuration-file-description.md @@ -142,7 +142,7 @@ oceanbase-ce: # 组件名,其下内容是对该组件的配置 | 模块名 | 说明 | |----------|--------------| -| user | 配置用户信息,建议使用 admin 用户。该模块下需关注的配置项介绍如下:
  • `username` 为部署用户名,OBD 将使用该用户登录到目标机器进行部署,确保您的用户名有配置文件中所配置的所有目录的写权限。
  • `password` 和 `key_file` 均用于验证用户,通常情况下只需要填写一个。
**注意**
在配置秘钥路径后,如果您的秘钥不需要口令,请注释或者删除 `password`,以免 `password` 被视为秘钥口令用于登录,导致校验失败。
| +| user | 配置用户信息,建议使用 admin 用户。该模块下需关注的配置项介绍如下:
  • `username` 为部署用户名,OBD 将使用该用户登录到目标机器进行部署,确保您的用户名有配置文件中所配置的所有目录的写权限。
  • `password` 和 `key_file` 均用于验证用户,通常情况下只需要填写一个。
**注意**
在配置秘钥路径后,如果您的秘钥不需要口令,请注释或者删除 `password`,以免 `password` 被视为秘钥口令用于登录,导致校验失败。
| | oceanbase-ce | 组件名,其下的内容是对该组件的配置。 | | servers | 节点信息,每台机器需要用 `- name: 机器标识名 (换行)ip: 机器 IP` 指定,多个机器就指定多次,机器标识名不能重复。
在机器 IP 不重复的情况下,也可以使用 `- (换行)- ` 的格式指定,此时 `- ` 的格式相当于 `- name: 机器 IP(换行)ip: 机器 IP`。 | | global | 表示其下配置为全局配置,同一组件中相同的配置可以写在这里。如果节点的配置中有与全局配置相同的配置项,则使用节点中配置项的配置。 | @@ -155,7 +155,7 @@ oceanbase-ce: # 组件名,其下内容是对该组件的配置 :::tab tab OceanBase 数据库 -此处以 `example/distributed-with-obproxy-example.yaml` 文件中 oceanbase-ce 组件部分为例介绍部署 OceanBase 数据库时需注意的配置项。通过配置文件部署 OceanBase 数据库流程可参见 [单机部署 OceanBase 数据库](200.start-the-oceanbase-cluster-by-using-obd.md)。 +此处以 `example/distributed-with-obproxy-example.yaml` 文件中 oceanbase-ce 组件部分为例介绍部署 OceanBase 数据库时需注意的配置项。通过配置文件部署 OceanBase 数据库流程可参见 [单机部署 OceanBase 数据库](300.command-line-operations/200.start-the-oceanbase-cluster-by-using-obd.md)。 ```yaml oceanbase-ce: @@ -174,7 +174,7 @@ oceanbase-ce: # Please set devname as the network adaptor's name whose ip is in the setting of severs. # if set severs as "127.0.0.1", please set devname as "lo" # if current ip is 192.168.1.10, and the ip's network adaptor's name is "eth0", please use "eth0" - devname: eth0 + # devname: eth0 # if current hardware's memory capacity is smaller than 50G, please use the setting of "mini-single-example.yaml" and do a small adjustment. memory_limit: 64G # The maximum running memory for an observer # The reserved system memory. system_memory is reserved for general tenants. The default value is 30G. @@ -184,7 +184,6 @@ oceanbase-ce: datafile_maxsize: 1T # the auto extend max size. Please enter an capacity, such as 20G log_disk_size: 192G # The size of disk space used by the clog files. enable_syslog_wf: false # Print system logs whose levels are higher than WARNING to a separate log file. The default value is true. - enable_syslog_recycle: true # Enable auto system log recycling or not. The default value is false. max_syslog_file_count: 4 # The maximum number of reserved log files before enabling auto recycling. The default value is 0. # observer cluster name, consistent with obproxy's cluster_name appname: obcluster @@ -193,6 +192,7 @@ oceanbase-ce: # In this example , support multiple ob process in single node, so different process use different ports. # If deploy ob cluster in multiple nodes, the port and path setting can be same. server1: + # local_ip: 10.10.10.1 mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started. rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started. # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field. @@ -203,6 +203,7 @@ oceanbase-ce: # redo_dir: /redo zone: zone1 server2: + # local_ip: 10.10.10.2 mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started. rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started. # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field. @@ -213,6 +214,7 @@ oceanbase-ce: # redo_dir: /redo zone: zone2 server3: + # local_ip: 10.10.10.3 mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started. rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started. # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field. @@ -232,7 +234,8 @@ oceanbase-ce: | package_hash | 可选 | 默认部署最新版本 | 指定待部署组件软件包 hash,通常情况下不需要指定。 | | tag | 可选 | 无 | 指定待部署组件 tag,通常情况下不需要指定。当您为自己编译的 OceanBase 数据库安装包设置了 tag 时,可以使用 tag 来指定。 | | servers | 必选 | 无 | 每台机器需要用 `- name: 机器标识名 (换行)ip: 机器 IP` 指定,多个机器就指定多次,机器标识名不能重复。
在机器 IP 不重复的情况下,也可以使用 `- (换行)- ` 的格式指定,此时 `- ` 的格式相当于 `- name: 机器 IP(换行)ip: 机器 IP`。 | -| devname | 可选 | 无 | 和 `servers` 里指定的 IP 对应的网卡,通过 `ip addr` 命令可以查看 IP 和网卡对应关系。 | +| devname | 可选 | 无 | 和 `servers` 里指定的 IP 对应的网卡,通过 `ip addr` 命令可以查看 IP 和网卡对应关系。

说明

自 OceanBase 数据库 V4.2.0 版本起,不建议配置该配置项。

| +| local_ip | 可选 | 无 | 用于安装 OBServer 节点机器的 IP 地址。部署集群时,无需手动配置,OBD 会自动获取 `servers` 模块配置的 IP 地址为该配置项赋值。OceanBase 数据库部署会首先根据 `local_ip` 配置项进行配置,不再关注 `devname` 配置项。详细介绍可参见 《OceanBase 数据库》中 [local_ip](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000220556) 一文。

说明

  • 该配置项自 OceanBase 数据库 V4.2.0 版本开始引入。

  • 不建议修改该配置项,如需更改安装 OBServer 节点机器的 IP 地址,推荐直接修改 servers 模块的 IP 信息。

| | memory_limit | 可选 | 0 | observer 进程能从环境中获取的最大内存,未配置的情况下以 `memory_limit_percentage` 配置项为准,配置项详细介绍请参考 [memory_limit](https://www.oceanbase.com/docs/common-oceanbase-database-1000000000035168) 和 [memory_limit_percentage](https://www.oceanbase.com/docs/common-oceanbase-database-1000000000035169)。 | | system_memory | 可选 | 0M | 保留的系统内存,该参数值会占用 `memory_limit` 的内存,未配置的情况下 OceanBase 数据库会自适应。 | | datafile_size | 可选 | 0 | 指定对应节点数据文件(block_file)大小,未配置的情况下以 `datafile_disk_percentage` 配置项为准,详细介绍请参见 [datafile_size](https://www.oceanbase.com/docs/common-oceanbase-database-1000000000035159) 和 [datafile_disk_percentage](https://www.oceanbase.com/docs/common-oceanbase-database-1000000000035234)。 | @@ -240,9 +243,8 @@ oceanbase-ce: | datafile_maxsize | 可选 | 0 | 限制磁盘空间的最大可用上限,用于设置自动扩容,未配置的情况下若要开启自动扩容功能可参见 [配置磁盘数据文件的动态扩容](https://www.oceanbase.com/docs/common-oceanbase-database-1000000000033620)。 | | log_disk_size | 可选 | 0 | 用于设置 Redo 日志磁盘的大小,未配置的情况下以`log_disk_percentage` 配置项为准,详细介绍请参考 [log_disk_size](https://www.oceanbase.com/docs/common-oceanbase-database-1000000000035368) 和 [log_disk_percentage](https://www.oceanbase.com/docs/common-oceanbase-database-1000000000035324)。 | | enable_syslog_wf | 可选 | true | 设置是否把 WARN 以上级别的系统日志打印到一个单独的日志文件中。 | -| enable_syslog_recycle | 可选 | false | 指定是否将重启前的日志文件纳入回收范围,设置为 false 时,回收日志前可容纳的日志文件数量中不包含重启前的日志。 | | max_syslog_file_count | 可选 | 0 | 设置在回收日志文件之前可以容纳的日志文件数量。值为 0 时表示不自动清理。 | -| appname | 可选 |
  • 黑屏部署时默认为 obcluster
  • 白屏部署时默认为部署集群名
| OceanBase 集群名。 | +| appname | 可选 | 默认为部署集群名 | OceanBase 集群名。
**说明**
OBD V2.4.0 之前版本,黑屏部署时 `appname` 默认为 `obcluster`,自 OBD V2.4.0 起,`appname` 默认为部署集群名,即部署命令中的 `deploy name`。
| | mysql_port | 必选 | 2881 | 设置 SQL 服务协议端口号,默认为 2881。 | | rpc_port | 必选 | 2882 | 设置远程访问的协议端口号,是 observer 进程跟其他节点进程之间的 RPC 通信端口,默认为 2882。 | | home_path | 必选 | 无 | OceanBase 数据库安装路径。 | @@ -400,7 +402,7 @@ obagent: tab OCP Express -此处以 `example/ocp-express/ocp-express-only.yaml` 文件为例介绍部署 OCP Express 时需注意的配置项。通过配置文件部署 OCP Express 流程可参见 [使用命令行部署 OCP Express](300.deploy-ocp-express-by-using-obd.md)。 +此处以 `example/ocp-express/ocp-express-only.yaml` 文件为例介绍部署 OCP Express 时需注意的配置项。通过配置文件部署 OCP Express 流程可参见 [使用命令行部署 OCP Express](300.command-line-operations/300.deploy-ocp-express-by-using-obd.md)。 ```yaml ocp-express: @@ -458,7 +460,7 @@ ocp-express: tab Config Server -此处以 `example/ob-configserver/ob-configserver-only-example.yaml` 文件为例介绍部署 Config Server 时需注意的配置项。通过配置文件部署 Config Server 流程可参见 [通过 OBD 部署 Config Server](900.deploy-ob-configserver.md)。 +此处以 `example/ob-configserver/ob-configserver-only-example.yaml` 文件为例介绍部署 Config Server 时需注意的配置项。通过配置文件部署 Config Server 流程可参见 [使用命令行部署 Config Server](300.command-line-operations/350.deploy-ob-configserver.md)。 ```yaml ob-configserver: @@ -513,7 +515,7 @@ ob-configserver: tab Prometheus -此处以 `example/prometheus/prometheus-only-example.yaml` 文件为例介绍部署 Prometheus 时需注意的配置项。通过配置文件部署 Prometheus 流程可参见 [为现有集群增加白屏监控](500.add-white-screen-monitoring.md)。 +此处以 `example/prometheus/prometheus-only-example.yaml` 文件为例介绍部署 Prometheus 时需注意的配置项。通过配置文件部署 Prometheus 流程可参见 [为现有集群增加白屏监控](300.command-line-operations/500.add-white-screen-monitoring.md)。 ```yaml prometheus: @@ -600,7 +602,7 @@ prometheus: tab Grafana -此处以 `example/grafana/grafana-only-example.yaml` 文件为例介绍部署 Grafana 时需注意的配置项。通过配置文件部署 Grafana 流程可参见 [为现有集群增加白屏监控](500.add-white-screen-monitoring.md)。 +此处以 `example/grafana/grafana-only-example.yaml` 文件为例介绍部署 Grafana 时需注意的配置项。通过配置文件部署 Grafana 流程可参见 [为现有集群增加白屏监控](300.command-line-operations/500.add-white-screen-monitoring.md)。 ```yaml grafana: diff --git a/docs/zh-CN/400.user-guide/200.ui-operations/100.overview-of-ui.md b/docs/zh-CN/400.user-guide/200.ui-operations/100.overview-of-ui.md new file mode 100644 index 0000000..9abb39b --- /dev/null +++ b/docs/zh-CN/400.user-guide/200.ui-operations/100.overview-of-ui.md @@ -0,0 +1,11 @@ +# 图形化界面操作概述 + +## 背景信息 + +OBD 自 V2.0.0 起支持通过图形化界面部署 OceanBase 数据库及相关组件,白屏界面配置简单,通过页面的引导配置即可完成相应的部署,本章将分篇介绍如何使用 OBD 的图形化界面部署 OceanBase 数据库、OceanBase 数据库相关组件和其他 OceanBase 生态工具。 + +## 支持部署的组件 + +* [部署 OceanBase 及相关组件](../../200.quick-start/300.use-ui-deploy-oceanbase.md) + +* [部署 OCP](300.deploy-ocp-by-ui.md) diff --git a/docs/zh-CN/400.user-guide/200.ui-operations/300.deploy-ocp-by-ui.md b/docs/zh-CN/400.user-guide/200.ui-operations/300.deploy-ocp-by-ui.md new file mode 100644 index 0000000..e2ee666 --- /dev/null +++ b/docs/zh-CN/400.user-guide/200.ui-operations/300.deploy-ocp-by-ui.md @@ -0,0 +1,281 @@ +# 通过图形化界面部署 OCP + +本文以创建全新的 OceanBase 数据库作为 OCP 的 MetaDB 为例介绍如何使用 OBD 图形化界面部署 OceanBase 云平台(后文简称 OCP)。 + +
+

说明

+

目前 OBD 仅支持管理 OCP-CE V4.2.1 及以上版本。

+
+ +## 名词介绍 + +* OceanBase 数据库 + + 一款完全自研的企业级原生分布式数据库,详细信息请参见 [OceanBase 数据库文档](https://www.oceanbase.com/docs/oceanbase-database-cn)。 + +* OBD + + OceanBase Deployer,OceanBase 安装部署工具,简称为 OBD。详细信息请参见 [OBD 文档](../../100.what-is-obd.md)。 + +* OBProxy + + OceanBase Database Proxy,OceanBase 数据库代理,是 OceanBase 数据库专用的代理服务器,简称为 ODP(又称为 OBProxy)。详细信息请参见 [ODP 文档](https://www.oceanbase.com/docs/odp-cn)。 + +* OCP + + OceanBase Cloud Platform,OceanBase 云平台,简称为 OCP。详细信息请参见 [OCP 文档](https://www.oceanbase.com/docs/oceanbase-ocp-cn)。 + +* MetaDB + + OCP 的重要组成部分,为 OCP 管理元信息及监控数据提供底层存储能里,OCP-Server 通过调用 MetaDB 数据提供 OceanBase 数据库全生命周期管理服务。 + +## 前提条件 + +* 已安装 OBD V2.4.0 及以上版本,若您环境中 OBD 为 V2.4.0 以下版本,可参考 [常见问题](../../500.faq/100.faq.md) 中 **如何升级 OBD** 一节升级 OBD。 + +* 已在部署 OCP 的机器上安装配置 Java 环境,且 Java 版本为 1.8.0 版本,并且构建版本号至少为 161。详细操作可参考 [常见问题](../../500.faq/100.faq.md) 中 **部署 OCP Express 前如何配置 Java 环境**。 + +
+

说明

+

本文默认所使用的机器可以连接公网,或者已配置好所需软件(OceanBase、OBAgent、OBProxy、OCP 等)。配置所需软件的详细操作可参考 安装并配置 OBD配置 OBD

+
+ +## 操作步骤 + +
+

说明

+

本文基于 x86 架构的 CentOS Linux 7.9 镜像环境,以 OBD V2.4.0 为例提供操作指导,不同环境、不同 OBD 版本的操作界面可能不同,请以实际界面为准。

+
+ +## 步骤一:启动白屏界面 + +您可执行 `obd web install` 命令启动白屏界面,单击输出的地址访问 OBD 的图形化操作界面。 + +```shell +[admin@test001 ~]$ obd web install +start OBD WEB in 0.0.0.0:8680 +please open http://10.10.10.1:8680 +``` + +
+

说明

+
    +
  • +

    白屏界面默认使用 8680 端口,您可使用 obd web install -p <PORT> 命令指定端口。

    +
  • +
  • +

    在阿里云或其他云环境下,可能出现程序无法获取公网 IP,从而输出内网地址的情况,此 IP 非公网地址,您需要使用正确的地址访问白屏界面。

    +
  • +
  • +

    obd web 命令绑定在 0.0.0.0 上,在多网卡部署的情况下,您可通过任意一个可访问的 IP 访问白屏界面。

    +
  • +
+
+ +在操作界面中单击 **开启体验之旅** 即可进入到 **欢迎使用 OceanBase 部署向导** 界面,将鼠标放置到图形化操作界面右上角的 **中文** 字符处可根据显示的语种单击切换中英文界面。 + +![语种切换](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/obd/V2.4.0/zh-CN/200.quick-start/300.deploy-ocp-by-ui-01.png) + +在 **欢迎使用 OceanBase 部署向导** 界面选择 **OCP** 模块,单击 **确定** 后进入 **欢迎使用 OCP 部署向导** 界面,您可根据实际情况在此界面为 OCP 选择 MetaDB 配置方式,并单击 **确定** 开始部署。此处以 **创建全新的 OceanBase 数据库作为 OCP 的 MetaDB** 为例介绍如何使用 OBD 部署 OCP,其他详细介绍可参见 《云平台 OCP》中 [部署社区版 OceanBase 云平台](https://www.oceanbase.com/docs/common-ocp-1000000000368842)。 + +## 步骤二:部署配置 + +您可在 **部署配置** 界面配置 OCP 的集群名称、产品版本等。**部署配置** 界面内容如下。 + +![部署配置](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/obd/V2.4.0/zh-CN/200.quick-start/300.deploy-ocp-by-ui-11.png) + +| 参数 | 说明 | +|--------|-----------| +| 集群名称 | OBD 专用部署产品的唯一名称,可自定义,不可和已有部署名重复。集群名需以英文字母开头、英文或数字结尾,可包含英文、数字和下划线,且长度在 2 ~ 32 个字符之间。您可通过 `obd cluster list` 命令查看 OBD 中管理的集群。 | +| 版本选择 | 单击 OCP 和 OceanBase 所在行对应 **版本** 下的下拉框可选择 OCP 和 OceanBase 数据库的部署版本,OBProxy 版本默认为 OceanBase 数据库适配版本。单击对应组件后的 **了解更多** 可跳转查看对应组件的文档介绍。 | + +配置完成后可单击 **下一步** 进入到 **MetaDB 配置** 页面。 + +## 步骤三:MetaDB 配置 + +您可在 MetaDB 配置页面配置 MetaDB 集群的信息,如 OBServer 节点 IP、端口、目录和密码等,本节将分别为您介绍。 + +1. 部署用户配置 + + **部署用户配置** 模块用于配置部署 OCP 的用户信息,界面如下图所示。 + + ![用户配置](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/obd/V2.4.0/zh-CN/200.quick-start/300.deploy-ocp-by-ui-03.png) + +
+

说明

+

为避免操作系统用户冲突,建议为 MetaDB 及 OCP 配置独立的操作系统用户。

+
+ + | 参数 | 说明 | + |--------|----------| + | 用户名 | 提供主机操作系统的用户以便安装程序进行自动化配置,配置的用户名必须拥有免密执行 sudo 的权限。 | + | 密码(可选) | 用户名对应的密码,若已为该用户配置免密,可忽略此项配置。 | + | SSH 端口 | 默认为 22 端口,支持自定义端口。 | + | 使用运行用户 | 勾选后会出现 **运行用户名** 的输入框,可为 OCP 服务配置独立的操作系统用户。 | + +2. 节点配置 + + 您可在 **OCP 节点配置** 中配置 OCP 所在的主机 IP,并在 **数据库节点配置** 中配置 MetaDB 所在的 OBServer 节点 IP,界面如下图所示。 + + ![节点配置](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/obd/V2.4.0/zh-CN/200.quick-start/300.deploy-ocp-by-ui-04.png) + + | 参数 | 说明 | + |-------|--------| + | 选择主机 | 配置 OCP 所在的主机 IP,支持部署多台主机。

注意

主机地址不能配置为 127.0.0.1

| + | Zone 名称 | 配置 MetaDB 中的 Zone 名称,可自定义。Zone 名称需以英文字母开头,英文或数字结尾,可包含英文、数字和下划线且长度在 2~32 个字符之间。部署多 Zone 的 OceanBase 集群必须有一个 Zone 与主 Zone 的 Region 相同。可单击 **+ 新增 Zone** 或对应 Zone 后的删除图标新增或删除 Zone。 | + | OBServer 节点 | 配置 MetaDB 中的 OBServer 节点 IP,输入 IP 后单击键盘 Enter 可配置多个节点 IP。 | + | RootServer 节点 | 可通过下拉框在 **OBServer 节点** 配置的 IP 中选择一个 IP 作为 MetaDB 的 RootServer 节点。对于多副本的 OceanBase 集群,其每个 Zone 都需指定一个 RootServer。 | + +3. 集群配置 + + 您可在 **集群配置** 模块配置 MetaDB 数据库的 root@sys 密码、目录、端口等信息,界面如下图所示。 + + ![集群配置](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/obd/V2.4.0/zh-CN/200.quick-start/300.deploy-ocp-by-ui-05.png) + + | 参数 | 说明 | + |--------|--------| + | root@sys 密码 | 可自定义输入,也可单击 **随机生成**,由 OBD 生成随机字符串。root@sys 密码需要满足以下复杂度条件:
  • 长度为 8~32 个字符
  • 支持字母、数字和特殊字符,且至少包含大、小写字母、数字和特殊字符各 2 个
  • 支持的特殊字符为 ~!@#%^&*_-+=`\|(){}[]:;',.?/
| + | 软件安装路径 | MetaDB 的安装路径,默认在部署用户的家目录下创建 `oceanbase` 目录,可自定义修改,您需拥有对应目录的读写权限。 | + | 数据路径 | MetaDB 的数据存放路径,需为以 `/` 开头的绝对路径,支持自定义设置。您需拥有对应目录的读写权限,且确保设置的目录为空。 | + | 日志路径 | MetaDB 的日志存放路径,需为以 `/` 开头的绝对路径,支持自定义设置。您需拥有对应目录的读写权限,且确保设置的目录为空。 | + | SQL 端口 | SQL 服务协议端口号,默认为 2881,可自定义设置(仅支持 1024~65535 范围),需确保设置的端口未被占用。 | + | RPC 端口 | 远程访问的协议端口号,默认为 2882,可自定义设置(仅支持 1024~65535 范围),需确保设置的端口未被占用。 | + | 更多配置 | (可选)单击可查看并配置 OceanBase 集群配置项,您可使用自动分配的值进行配置,也可自定义各个参数。OceanBase 集群配置项的详细介绍可参见《OceanBase 数据库》文档 [配置项](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218691) 章节。 | + +
+

注意

+

需保证 软件路径数据路径日志路径 所在目录的磁盘空间充足,否则将部署失败。

+
+ +4. OBProxy 配置 + + **OBProxy 配置** 模块可以配置 OBProxy 的节点、端口和路径等信息,界面如下图所示。 + + ![OBProxy 配置](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/obd/V2.4.0/zh-CN/200.quick-start/300.deploy-ocp-by-ui-06.png) + + | 参数 | 说明 | + |--------|---------| + | OBProxy 节点 | 配置部署 OBProxy 的机器 IP,仅支持配置一个 IP,即仅支持单节点 OBProxy 安装。 | + | SQL 端口 | OBProxy 监听端口,默认为 2883,可自定义设置(仅支持 1024~65535 范围),需确保设置的端口未被占用。 | + | Exporter 端口 | OBProxy prometheus 监听端口,默认为 2884,可自定义设置(仅支持 1024~65535 范围),需确保设置的端口未被占用。 | + | 软件路径 | OBProxy 的安装路径,默认在部署用户的家目录下创建 `obproxy` 目录,可自定义修改,您需拥有对应目录的读写权限。 | + | 更多配置 | (可选)单击可查看并配置 OBProxy 配置项,您可使用自动分配的值进行配置,也可自定义各个参数。 | + +全部配置完成后可单击 **下一步** 进入 **OCP 配置** 页面。 + +## 步骤四:OCP 配置 + +您可在 **OCP 配置** 页面配置 OCP 服务及租户信息,本节将分别为您介绍。 + +1. 服务配置 + + 您可在 **服务配置** 模块配置 OCP 的登录密码、路径、URL 及端口,界面如下图所示。 + + ![服务配置](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/obd/V2.4.0/zh-CN/200.quick-start/300.deploy-ocp-by-ui-07.png) + + | 参数 | 说明 | + |-------|-------| + | Admin 密码 | 配置 OCP 管理员账号的登录密码,可自定义输入,也可单击 **随机生成**,由 OBD 生成随机字符串。密码需要满足以下复杂度条件:
  • 长度为 8~32 个字符
  • 支持字母、数字和特殊字符,且至少包含大、小写字母、数字和特殊字符各 2 个
  • 支持的特殊字符为 ~!@#%^&*_-+=`\|(){}[]:;',.?/

单击 **复制密码** 可复制配置的 Admin 密码。| + | 软件路径 | OCP 的安装路径,默认在部署用户的家目录下创建 `ocp` 目录,可自定义修改,您需拥有对应目录的读写权限。 | + | 日志路径 | OCP 的日志存放路径,默认在用户家目录下创建 `logs` 目录,可自定义修改,您需拥有对应目录的读写权限。 | + | 软件包路径 | OCP 中存放软件包(如 OBProxy、OBAgent 等)的路径,默认在用户家目录下创建 `software` 目录,可自定义修改,您需拥有对应目录的读写权限。 | + | ocp.site.url | 外部访问 OCP 网站的地址,要求是以 `http`/`https` 开始,包含 VIP 地址/域名/端口的网址,且结尾不含斜杠(`/`),比如 `http://localhost:8080`。
设置完成后可单击 URL 后的 **校验** 按钮测试地址连通性,通过后会在 URL 文本框下显示 “当前校验成功,请进行下一步”。若校验失败,请根据提示信息进行修改并重新校验。 | + | 服务端口 | OCP 的服务监听端口,默认为 `8080`,支持自定义端口。 | + +2. 资源规划 + + OCP 服务在运行过程中会有计算和存储资源开销,您可在 资源规划 模块根据待管理的对象规模进行资源规划,包括 OCP 服务、MetaDB 和 MonitorDB,界面如下图所示。 + + ![资源规划](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/obd/V2.4.0/zh-CN/200.quick-start/300.deploy-ocp-by-ui-08.png) + +
+

说明

+

部署 OCP 的机器需参照 OCP 的安装规划要求进行,详细介绍可参见《云平台 OCP》中 安装规划 章节。

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
模块参数说明
资源规划主机计划使用 OCP 管理的主机数,默认管理 10 台以下主机,可根据实际情况修改。
资源配置内存分配给 OCP 主机的内存资源,默认分配 4GiB,内存资源的配置与 OCP 管理的主机数量相关,详细介绍可参见 《云平台 OCP》中 主机规划 一文。
元信息租户配置租户名称元信息租户名称,默认为 ocp_meta,支持自定义。
密码配置元信息租户的 root 用户密码,可自定义输入,也可单击 随机生成,由 OBD 生成随机字符串。自定义密码需要满足以下复杂度条件:
  • 长度为 8~32 个字符
  • 支持字母、数字和特殊字符,且至少包含大、小写字母、数字和特殊字符各 2 个
  • 支持的特殊字符为 ~!@#%^&*_-+=`|(){}[]:;',.?/

单击 复制密码 可复制配置的元信息租户 root 用户密码。
CPU为元信息租户分配的 CPU 资源,默认为 2VCPUS,支持调整。
内存为元信息租户分配的内存资源。默认为 4GiB,支持调整。
监控数据租户配置租户名称监控数据租户名称,默认为 ocp_monitor,支持自定义。
密码配置监控数据租户的 root 用户密码,可自定义输入,也可单击 随机生成,由 OBD 生成随机字符串。自定义密码需要满足以下复杂度条件:
  • 长度为 8~32 个字符
  • 支持字母、数字和特殊字符,且至少包含大、小写字母、数字和特殊字符各 2 个
  • 支持的特殊字符为 ~!@#%^&*_-+=`|(){}[]:;',.?/

单击 复制密码 可复制配置的监控数据租户 root 用户密码。
CPU为监控数据租户分配的 CPU 资源,默认为 2VCPUS,支持调整。
内存为监控数据租户分配的内存资源。默认为 8GiB,支持调整。
+ +全部配置完成后可单击 **下一步** 进入 **预检查** 页面。 + +## 步骤五:预检查 + +您可在 **预检查** 页面查看所有配置信息,若发现问题可单击 **上一步** 进行修改;确认无误后,单击 **预检查** 进行检查,系统将验证您的环境是否满足安装、配置 MetaDB 与 OCP 的所有要求。 + +若预检查报错,您可根据页面建议选择 **自动修复**(针对可自动修复的检查项) 或者单击 **了解更多方案** 跳转至错误码文档,参考文档自行修改。所有报错修改后,可单击 **重新检查** 再次进行预检查。 + +![预检查](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/obd/V2.4.0/zh-CN/200.quick-start/300.deploy-ocp-by-ui-09.png) + +预检查通过后单击 **下一步** 即可进入 **部署** 页面开始 OCP 的部署。 + +## 步骤六:部署 + +部署过程中,**部署页面** 会输出部署日志,您可通过 **部署日志** 模块查看详细安装日志。 + +* 若部署失败,请查看日志信息获取失败原因,并联系技术支持同学进行处理,或到官网 [问答区](https://ask.oceanbase.com/) 进行提问,会有专业人员为您解决。待定位安装失败问题原因且修复问题后,单击 **重新部署** ,在弹出的确认窗口后单击 **确认**,系统将清理当前失败的 OCP 安装环境,并重新执行安装程序。 + +* 若部署成功,可单击 **复制信息**,在复制保存 OCP 的访问地址及账密信息后,单击 **完成** 退出部署程序。 + +![部署](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/obd/V2.4.0/zh-CN/200.quick-start/300.deploy-ocp-by-ui-10.png) + +
+

说明

+

部署成功后,您可参照 《云平台 OCP》 中 部署后检查 一文检查部署的 OCP 是否可以正常使用。

+
+ +## 相关文档 + +* [集群命令组](../../300.obd-command/100.cluster-command-groups.md) + +* [使用图形化界面升级 OCP](https://www.oceanbase.com/docs/common-ocp-1000000000368853) diff --git a/docs/zh-CN/400.user-guide/300.command-line-operations/200.start-the-oceanbase-cluster-by-using-obd.md b/docs/zh-CN/400.user-guide/300.command-line-operations/200.start-the-oceanbase-cluster-by-using-obd.md new file mode 100644 index 0000000..a05a80d --- /dev/null +++ b/docs/zh-CN/400.user-guide/300.command-line-operations/200.start-the-oceanbase-cluster-by-using-obd.md @@ -0,0 +1,271 @@ +# 单机部署 OceanBase 数据库 + +本文以单机部署为例介绍如何使用 OBD 部署 OceanBase 数据库。单机部署仅包含一个 Zone 并且 Zone 中只有一个 OBServer 节点。 + +## 名词解释 + +* 中控机器:存储 OceanBase 数据库安装包和集群配置信息的机器。 + +* 目标机器:安装 OceanBase 集群的机器。 + +## 前提条件 + +* 您的机器中已安装 OBD,建议安装最新版本,详细信息请参考 [安装并配置 OBD](../../200.quick-start/100.install-obd.md)。 + +* 您的机器中已安装 OBClient 客户端,详细信息请参考 [OBClient 文档](https://github.com/oceanbase/obclient/blob/master/README.md)。 + +## 操作步骤 + +### 步骤一:(可选)下载并安装 all-in-one 安装包 + +OceanBase 从 V4.0.0 开始提供统一的安装包 all-in-one package。您可以通过这个统一的安装包一次性完成 OBD、OceanBase 数据库、ODP、OBAgent、Grafana、Prometheus 和 OCP Express(自 V4.1.0 起支持) 的安装。 + +您也可根据实际需求从 [OceanBase 软件下载中心](https://www.oceanbase.com/softwarecenter) 选择部分组件下载安装或者指定组件的版本。 + +
+

说明

+

离线部署 OceanBase 数据库时建议下载 all-in-one 安装包进行部署。

+
+ +#### 在线安装 + +若您的机器可以连接网络,可执行如下命令在线安装。 + +```shell +[admin@test001 ~]$ bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/installer.sh)" +[admin@test001 ~]$ source ~/.oceanbase-all-in-one/bin/env.sh +``` + +#### 离线安装 + +若您的机器无法连接网络,可参考如下步骤离线安装。 + +1. 从 [OceanBase 软件下载中心](https://www.oceanbase.com/softwarecenter) 下载最新的 all-in-one 安装包,并将其复制到中控机任意目录下。 + +2. 在 all-in-one 安装包所在目录下执行如下命令解压安装包并安装。 + + ```shell + [admin@test001 ~]$ tar -xzf oceanbase-all-in-one-*.tar.gz + [admin@test001 ~]$ cd oceanbase-all-in-one/bin/ + [admin@test001 bin]$ ./install.sh + [admin@test001 bin]$ source ~/.oceanbase-all-in-one/bin/env.sh + ``` + +### 步骤二:配置 OBD + +部署 OceanBase 集群之前,为了数据安全,建议您切换到非 root 用户。 + +如果是离线部署 OceanBase 集群,可参考 **步骤一** 在中控机上下载并安装 all-in-one 安装包。 + +如果对部署所需组件版本有特别要求,可从 [OceanBase 软件下载中心](https://www.oceanbase.com/softwarecenter) 自行下载组件对应版本安装包,复制到中控机任一目录,在该目录下参考以下步骤配置 OBD。 + +
+

说明

+

如果是在线部署 OceanBase 集群或通过 all-in-one 安装包部署 OceanBase 集群,则跳过步骤 1~3。

+
+ +1. 禁用远程仓库 + + ```shell + [admin@test001 rpm]$ obd mirror disable remote + ``` + +
+

说明

+

安装 all-in-one 安装包后默认关闭远程仓库,您可通过 obd mirror list 命令进行确认,查看 Type=remote 对应的 Enabled 变成了 False,说明已关闭远程镜像源。

+
+ +2. 将安装包添加至本地镜像 + + ```shell + [admin@test001 rpm]$ obd mirror clone *.rpm + ``` + +3. 查看本地镜像中安装包列表 + + ```shell + [admin@test001 rpm]$ obd mirror list local + ``` + +4. 选择配置文件 + + 若您机器中的 OBD 是通过直接下载的方式安装,则可在 `/usr/obd/example` 目录下查看 OBD 提供的配置文件示例。 + + 若您机器中的 OBD 是通过解压 all-in-one 安装包的方式安装,则可在 `~/.oceanbase-all-in-one/conf` 目录下查看 OBD 提供的配置文件示例。请根据您的资源条件选择相应的配置文件。 + + 小规格开发模式,适用于个人设备(内存不低于 8 GB) + + * 本地单机部署配置样例:mini-local-example.yaml + + * 单机部署配置样例:mini-single-example.yaml + + * 单机部署 + ODP 配置样例:mini-single-with-obproxy-example.yaml + + * 分布式部署 + ODP 配置样例:mini-distributed-with-obproxy-example.yaml + + * 分布式部署 + ODP + OCP Express 配置样例:default-components-min.yaml + + * 分布式部署全部组件:all-components-min.yaml + + 专业开发模式,适用于高配置 ECS 或物理服务器(可用资源不低于 16 核 64 GB) + + * 本地单机部署配置样例:local-example.yaml + + * 单机部署配置样例:single-example.yaml + + * 单机部署 + ODP 配置样例:single-with-obproxy-example.yaml + + * 分布式部署 + ODP 配置样例:distributed-with-obproxy-example.yaml + + * 分布式部署 + ODP + OCP Express 配置样例:default-components.yaml + + * 分布式部署全部组件:all-components.yaml + +5. 修改配置文件 + + 此处以小规格开发模式-单机部署(mini-single-example.yaml)为例,介绍如何修改配置文件。 + +
+

说明

+

您需根据您环境的真实情况修改下述参数。

+
+ + 1. 修改用户信息 + + ```yaml + ## Only need to configure when remote login is required + user: + username: admin + # password: your password if need + key_file: /home/admin/.ssh/id_rsa + # port: your ssh port, default 22 + # timeout: ssh connection timeout (second), default 30 + ``` + + `username` 为登录到目标机器的用户名,确保您的用户名有 `home_path` 的写权限。`password` 和 `key_file` 均用于验证用户,通常情况下只需要填写一个。 + +
+

注意

+

在配置秘钥路径后,如果您的秘钥不需要口令,请注释或者删除 password,以免 password 被视为秘钥口令用于登录,导致校验失败。

+
+ + 2. 修改机器的 IP、端口和相关目录,并配置内存相关参数及密码 + + ```yaml + oceanbase-ce: + servers: + # Please don't use hostname, only IP can be supported + - ip: 10.10.10.1 + global: + # Please set devname as the network adaptor's name whose ip is in the setting of severs. + # if set severs as "127.0.0.1", please set devname as "lo" + # if current ip is 192.168.1.10, and the ip's network adaptor's name is "eth0", please use "eth0" + devname: eth0 + cluster_id: 1 + # please set memory limit to a suitable value which is matching resource. + memory_limit: 6G # The maximum running memory for an observer + system_memory: 1G # The reserved system memory. system_memory is reserved for general tenants. The default value is 30G. + datafile_size: 2G # Size of the data file. + datafile_next: 2G # the auto extend step. Please enter an capacity, such as 2G + datafile_maxsize: 20G # the auto extend max size. Please enter an capacity, such as 20G + log_disk_size: 13G # The size of disk space used by the clog files. + cpu_count: 16 + mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started. + rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started. + production_mode: false + # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field. + home_path: /home/admin/observer + # The directory for data storage. The default value is $home_path/store. + data_dir: /data + # The directory for clog, ilog, and slog. The default value is the same as the data_dir value. + redo_dir: /redo + root_password: ****** # root user password, can be empty + proxyro_password: ****** # proxyro user pasword, consistent with obproxy's observer_sys_password, can be empty + zone: zone1 + ``` + + 配置文件中各配置项含义可参见 [配置文件说明](../100.configuration-file-description.md)。配置文件中若未配置密码,OBD 会自动生成随机密码,部署成功后可通过 obd cluster edit-config 命令查看配置文件对应配置项获取密码。 + +### 步骤三:部署 OceanBase 数据库 + +
+

说明

+

本节中所使用命令的详细使用方法可参考 集群命令组

+
+ +1. 部署 OceanBase 数据库 + + ```shell + [admin@test001 ~]$ obd cluster deploy obtest -c mini-single-example.yaml + ``` + + 联网情况下,在您执行了 `obd cluster deploy` 命令之后,OBD 将检查您的目标机器是否有部署所需安装包。如果没有安装包,OBD 将自动从 YUM 源获取。 + + 此命令会检查 `home_path` 和 `data_dir` 指向的目录是否为空,目录不为空时将报错。若您确认该目录下的内容可全部删除,可以加上 `-f` 选项,强制清空目录。 + +2. 启动 OceanBase 数据库 + + ```shell + [admin@test001 ~]$ obd cluster start obtest + ``` + +3. 查看 OceanBase 集群状态 + + ```shell + # 查看 OBD 管理的集群列表 + [admin@test001 ~]$ obd cluster list + + # 查看 obtest 集群状态 + [admin@test001 ~]$ obd cluster display obtest + ``` + +4. (可选)修改集群配置 + + OceanBase 数据库有数百个配置项,有些配置是耦合的,在您熟悉 OceanBase 数据库之前,不建议您修改示例配件文件中的配置。此处示例用来说明如何修改配置,并使之生效。 + + ```shell + # 使用 edit-config 命令进入编辑模式,修改集群配置 + # 修改配置并保存退出后,OBD 会告知如何使得此次修改生效,复制 OBD 输出的命令即可 + [admin@test001 ~]$ obd cluster edit-config obtest + + # 保存修改后输出如下 + Search param plugin and load ok + Search param plugin and load ok + Parameter check ok + Save deploy "obtest" configuration + Use `obd cluster reload obtest` to make changes take effect. + [admin@test001 ~]$ obd cluster reload obtest + ``` + +### 步骤四:连接 OceanBase 数据库 + +运行以下命令,使用 OBClient 客户端连接 OceanBase 数据库: + +```shell +obclient -h -P -uroot@sys -p +``` + +其中,`IP` 为 OBServer 节点的 IP 地址;`PORT` 为连接 OceanBase 数据库的的端口,直连时为 `mysql_port` 配置项的值,默认端口为 `2881`,如果您对端口做了修改,此处使用您实际配置的端口号。 + +
+

说明

+

部署 OceanBase 集群之后,建议创建业务租户进行业务操作。sys 租户仅做集群管理使用,不适合在业务场景中使用。如何创建租户,详细操作请参考 创建用户租户

+
+ +## 后续操作 + +您可执行如下命令对 OBD 部署的集群进行管理。更多操作详见 [集群命令组](../../300.obd-command/100.cluster-command-groups.md)。 + +```shell +# 查看集群列表 +obd cluster list + +# 查看集群状态,以部署名为 obtest 为例 +obd cluster display obtest + +# 停止运行中的集群,以部署名为 obtest 为例 +obd cluster stop obtest + +# 销毁已部署的集群,以部署名为 obtest 为例 +obd cluster destroy obtest +``` diff --git a/docs/zh-CN/400.user-guide/300.command-line-operations/300.deploy-ocp-express-by-using-obd.md b/docs/zh-CN/400.user-guide/300.command-line-operations/300.deploy-ocp-express-by-using-obd.md new file mode 100644 index 0000000..b7773f9 --- /dev/null +++ b/docs/zh-CN/400.user-guide/300.command-line-operations/300.deploy-ocp-express-by-using-obd.md @@ -0,0 +1,504 @@ +# 使用命令行部署 OCP Express + +本文根据环境中是否存在 OceanBase 集群分为三种场景介绍如何使用命令行部署 OCP Express。 + +
+

注意

+

OCP Express 要求集群中所有的 OBServer 节点都要有对应的 OBAgent,否则 OCP Express 不能正常工作。

+
+ +## 前提条件 + +* OceanBase:V4.0.0.0 及以上版本。 + +* OBAgent:V1.3.0 及以上版本,若 OCP Express 为 V4.2.1 及以上版本,OBAgent 需为 V4.2.1 及以上版本。 + +* OBD:V2.0.0 及以上版本,若 OCP Express 为 V4.2.1 及以上版本,OBD 需为 V2.3.1 及以上版本。若您环境中 OBD 为 V2.0.0 以下版本,可参考 [常见问题](../../500.faq/100.faq.md) 中 **如何升级 OBD** 一节升级 OBD。 + +* Java:部署 OCP Express 的机器上需先安装配置 Java 环境,目前仅支持 JDK1.8 版本。详细操作可参考 [常见问题](../../500.faq/100.faq.md) 中 **部署 OCP Express 前如何配置 Java 环境**。 + +* 内存:需为 OCP Express 预留 512 MB 以上内存,长期稳定运行建议 762 MB 以上。 + +
+

说明

+

本文默认所使用的机器可以连接公网,或者已配置好所需软件(OceanBase、OBAgent、ODP、OCP Express 等)。配置所需软件的详细操作可参考 安装并配置 OBD配置 OBD

+
+ +## OCP Express 资源规格 + +### OCP Express 配置要求 + +OCP Express 服务在运行过程中会产生大量的计算和存储开销,因此需要根据待管理的对象规格进行资源规划。下表以每个集群中包含 10 个租户为标准,计算出 OCP Express 机器的资源消耗。您可根据实际情况进行计算,选择合适的资源配置。 + +| 管理的机器数量(台)| CPU(核)| 内存(GB)| 磁盘(GB)| +|-------------------|---------|-----------|----------| +| ≤ 10 | 1 | 2 | 20 | +| ≤ 20 | 2 | 4 | 20 | +| ≤ 50 | 4 | 8 | 20 | + +
+

说明

+

OCP Express 机器的最终配置请结合上述开销数据与系统其他资源消耗综合规划,基于系统稳定性考虑,建议 OCP Express 机器的最低配置为 4 核 8 GB,当单个主机的租户数量 ≤ 10 时,仍建议 CPU 和内存保持为 4 核 8 GB。

+
+ +### MetaDB 资源 + +MetaDB 用于存储 OCP Express 的元数据和监控数据,推荐在 OceanBase 集群中创建独立的租户用于 Meta DB。 + +OCP Express 中管理的 OBServer 数量不同,所需的资源也不相同。下表以每个集群中包含 10 个租户为标准,计算出 MetaDB 租户每个副本的 CPU、内存和磁盘资源。您可根据实际情况进行计算,选择合适的资源配置。 + +| 管理的机器数量(台)| CPU(核)| 内存(GB)| 磁盘(GB)| +|-------------------|---------|-----------|----------| +| ≤ 10 | 1 | 4 | 50 | +| ≤ 20 | 2 | 8 | 100 | +| ≤ 50 | 4 | 16 | 200 | + +
+

说明

+

这里给出的资源消耗只是一个粗略的预估,实际的 MetaDB 资源消耗根据业务用量会有差异。

+
+ +## 配置文件 + +OBD 提供了部署 OCP Express 所需的配置文件示例,您可根据自身机器资源情况进行修改。 + +* 若您机器中的 OBD 是通过直接下载的方式安装,则可在 `/usr/obd/example` 目录下查看 OBD 提供的配置文件示例。 + +* 若您机器中的 OBD 是通过解压 all-in-one 安装包的方式安装,则可在 `~/.oceanbase-all-in-one/conf` 目录下查看 OBD 提供的配置文件示例。 + +* 您也可在 OBD 的 [GitHub 仓库](https://github.com/oceanbase/obdeploy/tree/master/example) 中查看配置文件示例。 + +
+

说明

+

配置文件分为小规格开发和专业开发两种模式,两种模式的配置文件中配置项基本相同,配置的规格略有不同,您可根据实际资源条件进行选择。

+
    +
  • +

    小规格开发模式:适用于个人设备(内存不低于 8 GB),配置文件名中带有 minimin 标识。

    +
  • +
  • +

    专业开发模式:适用于高配置 ECS 或物理服务器(可用资源不低于 16 核 64 GB)。

    +
  • +
+
+ +OBD 提供的和部署 OCP Express 相关的配置文件示例有如下几个。 + +* 分布式部署全部组件:all-components-min.yaml、all-components.yaml + +* 分布式部署 + ODP + OCP Express:default-components.yaml、default-components-min.yaml + +* 单独部署 OCP Express:ocp-express-only.yaml + +## 场景一:部署 OceanBase 集群和 OCP Express + +若您要同时部署 OceanBase 集群和 OCP Express,需在 oceanbase-ce 组件下配置 OCP Express 使用所需的租户信息。ocp-express 组件的配置可直接在配置文件中声明依赖于其他组件(oceanbase-ce、obproxy-ce、obagent),此时您只需配置 `home_path` 和 `memory_size`,其余参数会根据依赖的组件进行获取补全。 + +此处以 `default-components.yaml` 配置文件为例,oceanbase-ce 组件下相关配置如下: + +```yaml +oceanbase-ce: + servers: + - name: server1 + ip: 172.xx.xxx.4 + global: + home_path: xxxx + ... + ocp_meta_tenant: + tenant_name: ocp_meta + max_cpu: 2 + memory_size: 6442450944 + ocp_meta_db: ocp_express + ocp_meta_username: ocp_user + ocp_meta_password: + ... +``` + +| 配置项 | 是否必选 | 默认值 | 说明 | +|--------------------|----------|-------|-------------------------------| +| ocp_meta_tenant->tenant_name | 可选 | ocp | 为 OCP Express 创建的 meta 租户名称。 | +| ocp_meta_tenant->max_cpu | 可选 | 1 | 为 meta 租户分配的最大 CPU。 | +| ocp_meta_tenant->memory_size | 可选 | 2147483648 |为 meta 租户分配的内存容量。 | +| ocp_meta_db | 可选 | ocp_express | OCP Express 中数据存储所需的数据库。 | +| ocp_meta_username | 可选 | meta | OCP Express 的 meta 用户名。 | +| ocp_meta_password | 可选 | oceanbase | 用户密码,未配置的情况下 OBD 会自动生成随机密码,可在部署成功后通过 `obd cluster edit-config` 命令查看配置文件对应配置项获取密码。 | + +这里举例列举了几个重要配置,`ocp_meta_tenant` 下的配置都会作为创建租户时的参数传入。具体有哪些参数可以参考创建租户命令支持的参数,详情请参见 [集群命令组](../../300.obd-command/100.cluster-command-groups.md) 中 `obd cluster tenant create` 命令介绍。 + +
+

说明

+

上述配置项都不配置的情况下,OBD 会按照默认规格为 OCP Express 创建 meta 租户。但是由于用户的租户数量是无法预知的,所以推荐用户根据需要自行修改 meta 租户的规格,推荐的计算公式如下:

+
    +
  • +

    data_disk=3.5 + 节点数*0.5,单位为 GB。

    +
  • +
  • +

    log_disk=4.5 + 节点数*0.5 + 租户数*0.5,单位为 GB。

    +
  • +
+
+ +在 oceanbase-ce 组件的 bootstrap 阶段,如果发现用户配置了上述字段或者当前集群中存在 ocp-express 组件,OBD 会自动创建对应的 meta 租户以及用户。 + +ocp-express 组件配置如下: + +```yaml +ocp-express: + depends: + - oceanbase-ce + - obproxy-ce + - obagent + servers: + - name: server2 + ip: 10.10.10.4 + global: + # The working directory for ocp-express. ocp-express is started under this directory. This is a required field. + home_path: /home/admin/ocp-server + # log_dir: /home/admin/ocp-server/log # The log directory of ocp express server. The default value is {home_path}/log. + memory_size: 1G # The memory size of ocp-express server. The recommend value is 512MB * (expect node num + expect tenant num) * 60MB. + logging_file_total_size_cap: 10GB # The total log file size of ocp-express server +``` + +各配置项介绍如下表: + +| 配置项 | 是否必选 | 默认值 | 说明 | +|--------------|----------|--------|------------------------------| +| home_path | 必选 | 无 | OCP Express 的工作目录,OCP Express 在该目录下启动。 | +| memory_size | 必选 | 无 | OCP Express 服务器的内存容量,推荐算法为:memory_size = 512MB +(期望的节点数 * 期望的租户数)* 60MB
期望的租户数需要包含 sys 和 ocp meta 租户本身。 | +| logging_file_total_size_cap | 必选 | 1GB | 日志文件总大小,默认为 1GB。
**注意**:
该参数的单位需使用 GB 或 MB,若使用 G 或 M 单位会报错,无法成功部署 OCP Express。
| + +修改配置文件之后,执行如下命令部署并启动集群: + +```shell +# 部署集群 +obd cluster deploy -c config.yaml +# 启动集群 +obd cluster start +``` + +集群启动后,根据输出的 `ocp-express` 的登录地址和账号密码登录 OCP Express 即可使用 OCP Express。 + +## 场景二:为 OceanBase 集群增加 OCP Express(已部署 OBAgent) + +若您本身已经部署了 OceanBase 集群和 OBAgent,想要单独增加 OCP Express,可参考本节内容单独部署。 + +1. (可选)若集群中 OBAgent 版本低于 V1.3.0,需参考如下命令升级 OBAgent。 + + ```shell + # 查看 OBAgent 的 hash 值 + obd mirror list oceanbase.community.stable | grep -e " obagent " + # 升级 OBAgent + obd cluster upgrade test -c obagent -V 1.3.0 --usable= + ``` + + 您需将命令中的 `obagent_hash` 替换为 OBAgent 对应版本的 hash 值。 + +2. 为 OCP Express 创建一个 meta 租户、用户和数据库,并为用户授予所需权限。 + + 1. 创建 meta 租户 + + ```shell + obd cluster tenant create -n --max-cpu=2 --memory-size=4G --log-disk-size=3G --max-iops=10000 --iops-weight=2 --unit-num=1 --charset=utf8 + ``` + + meta 租户的规格大小需根据自身集群部署情况进行配置,详细情况可参见本文 [MetaDB 资源](#MetaDB%20资源)。`obd cluster tenant create` 命令的详细介绍可参考 [集群命令组](../../300.obd-command/100.cluster-command-groups.md) 中 `obd cluster tenant create` 命令介绍。 + + 您也可以登入 OceanBase 数据库中为 OCP Express 创建租户,详细操作请参考 [创建用户租户](https://www.oceanbase.com/docs/community-observer-cn-0000000000965467)。 + + 2. 创建用户并授予权限 + + ```shell + create user identified by ''; + grant all on *.* to ; + ``` + + 3. 创建数据库 + + ```shell + create database ; + ``` + +3. 修改配置文件 + + 此处以 `ocp-express-only.yaml` 配置文件为例,具体配置文件内容如下: + + ```yaml + ## Only need to configure when remote login is required + # user: + # username: your username + # password: your password if need + # key_file: your ssh-key file path if need + # port: your ssh port, default 22 + # timeout: ssh connection timeout (second), default 30 + ocp-express: + servers: + - name: server1 + ip: xxx.xxx.xxx.xxx + global: + # The working directory for ocp-express. ocp-express is started under this directory. This is a required field. + home_path: /home/admin/ocp-server + log_dir: /home/admin/ocp-server/log # The log directory of ocp express server. The default value is {home_path}/log. + memory_size: 1G # The memory size of ocp-express server. The recommend value is 512MB * (expect node num + expect tenant num) * 60MB. + jdbc_url: jdbc:oceanbase://IP:PORT/meta_db # jdbc connection string to connect to the meta db + jdbc_username: user_name@tenant_name # username to connect to meta db + jdbc_password: '' # password to connect to meta db + port: 8180 # The http port to use. + cluster_name: obcluster # the cluster name of oceanbase cluster. Refer to the configuration item appname of oceanbase + ob_cluster_id: 1 # the cluster id of oceanbase cluster. Refer to the configuration item cluster_id of oceanbase + root_sys_password: + agent_username: # The username of obagent + agent_password: # The password of obagent + logging_file_total_size_cap: 10GB # The total log file size of ocp-express server + server_addresses: # The cluster info for oceanbase cluster + - address: 127.0.0.1 # The address of oceanbase server + svrPort: 2882 # The rpc port of oceanbase server + sqlPort: 2881 # The mysql port of oceanbase server + agentMgrPort: 8089 # The port of obagent manager process + agentMonPort: 8088 # The port of obagent monitor process + ``` + + | 配置项 | 是否必选 | 说明 | + |--------------------|----------|--------------------------------------| + | home_path | 必选 | OCP Express 的工作目录,OCP Express 在该目录下启动。 | + | log_dir | 可选 | OCP Express 服务器的日志目录,默认值为 `home_path` 参数下的 log。 | + | memory_size | 必选 | OCP Express 服务器的内存容量,推荐算法为:memory_size = 512M +(期望的节点数 * 期望的租户数)* 60MB
期望的租户数需要包含 sys 和 ocp meta 租户本身。 | + | jdbc_url | 必选 | 连接 meta 租户的 JDBC 连接字符串,请确保连接串中使用到的数据库已创建。 | + | jdbc_username | 必选 | 连接 meta 租户的用户名,请确保该用户已创建。
**说明**:
这里的用户名格式为 user_name@tenant_name,如果只写 user_name 而省略租户名,则默认使用 user_name@sys 连接。sys 租户不允许被当作 meta 租户使用。
| + | jdbc_password | 必选 | 连接 meta 租户的用户密码。 | + | port | 必选 | 访问 OCP Express 的 HTTP 端口。 | + | cluster_name | 必选 | OceanBase 集群的集群名称,需和 oceanbase-ce 组件中的 `appname` 配置项相同。 | + | ob_cluster_id | 必选 | OceanBase 集群的集群 ID,需和 oceanbase-ce 组件中的 `cluster_id` 配置项相同。 | + | root_sys_password | 必选 | OceanBase 集群中 root@sys 用户的密码。 | + | agent_username | 必选 | OBAgent 的用户名。 | + | agent_password | 必选 | OBAgent 的密码。 | + | logging_file_total_size_cap | 必选 | 日志文件总大小,默认为 1GB。
**注意**:
该参数的单位需使用 GB 或 MB,若使用 G 或 M 单位会报错,无法成功部署 OCP Express。
| + | server_addresses->address | 必选 | OBServer 节点的 IP 地址。 | + | server_addresses->svrPort | 必选 | OBServer 节点的 rpc 端口,需和 oceanbase-ce 组件中对应节点的 `rpc_port` 配置项相同。 | + | server_addresses->sqlPort | 必选 | OBServer 节点的 mysql 端口,需和 oceanbase-ce 组件中对应节点的 `mysql_port` 配置项相同。 | + | server_addresses->agentMgrPort | 必选 | OBAgent 管理进程的端口,需根据 OBAgent 中实际设置的端口进行修改。 | + | server_addresses->agentMonPort | 必选 | OBAgent 监控进程的端口,需根据 OBAgent 中实际设置的端口进行修改。 | + +4. 修改配置文件后,执行如下命令部署并启动集群。 + + ```shell + # 部署集群 + obd cluster deploy -c config.yaml + # 启动集群 + obd cluster start + ``` + +5. 集群启动后,根据输出的 `ocp-express` 的登录地址和账号密码登录 OCP Express 即可使用 OCP Express。 + +## 场景三:为 OceanBase 集群增加 OCP Express(未部署 OBAgent) + +若您本身已经部署了 OceanBase 集群,但未部署 OBAgent,想要单独增加 OCP Express,可参考本节内容单独部署。 + +
+

说明

+

OCP Express 强依赖 OBAgent,若集群中未部署 OBAgent,您需同时部署 OBAgent 和 OCP Express。

+
+ +### 步骤一:创建 meta 租户 + +您可参考本步骤为 OCP Express 创建一个 meta 租户、用户和数据库,并为用户授予所需权限 + +1. 创建 meta 租户 + + ```shell + obd cluster tenant create -n --max-cpu=2 --memory-size=4G --log-disk-size=3G --max-iops=10000 --iops-weight=2 --unit-num=1 --charset=utf8 + ``` + + meta 租户的规格大小需根据自身集群部署情况进行配置,详细情况可参见本文 [MetaDB 资源](#MetaDB%20资源)。`obd cluster tenant create` 命令的详细介绍可参考 [集群命令组](../../300.obd-command/100.cluster-command-groups.md) 中 `obd cluster tenant create` 命令介绍。 + + 您也可以登入 OceanBase 数据库中为 OCP Express 创建租户,详细操作请参考 [创建用户租户](https://www.oceanbase.com/docs/community-observer-cn-0000000000965467)。 + +2. 创建用户并授予权限 + + ```shell + create user identified by ''; + grant all on *.* to ; + ``` + +3. 创建数据库 + + ```shell + create database ; + ``` + +### 步骤二:修改配置文件 + +您可参考本节内容配置 OBAgent 和 OCP Express。 + +1. 配置用户 + + ```yaml + ## Only need to configure when remote login is required + user: + username: admin + # password: your password if need + key_file: /home/admin/.ssh/id_rsa + # port: your ssh port, default 22 + # timeout: ssh connection timeout (second), default 30 + ``` + + `username` 为登录到目标机器的用户名,确保您的用户名有 `home_path` 的写权限。`password` 和 `key_file` 均用于验证用户,通常情况下只需要填写一个。 + +
+

注意

+

在配置秘钥路径后,如果您的秘钥不需要口令,请注释或者删除 password,以免 password 被视为秘钥口令用于登录,导致校验失败。

+
+ +2. 配置 OBAgent + + ```yaml + obagent: + servers: + # Please don't use hostname, only IP can be supported + - 10.10.10.1 + - 10.10.10.2 + - 10.10.10.3 + global: + # The working directory for obagent. obagent is started under this directory. This is a required field. + home_path: /home/admin/obagent + # The port of monitor agent. The default port number is 8088. + monagent_http_port: 8088 + # The port of manager agent. The default port number is 8089. + mgragent_http_port: 8089 + # Log path. The default value is log/monagent.log. + log_path: log/monagent.log + # The log level of manager agent. + mgragent_log_level: info + # The total size of manager agent.Log size is measured in Megabytes. The default value is 30M. + mgragent_log_max_size: 30 + # Expiration time for manager agent logs. The default value is 30 days. + mgragent_log_max_days: 30 + # The maximum number for manager agent log files. The default value is 15. + mgragent_log_max_backups: 15 + # The log level of monitor agent. + monagent_log_level: info + # The total size of monitor agent.Log size is measured in Megabytes. The default value is 200M. + monagent_log_max_size: 200 + # Expiration time for monitor agent logs. The default value is 30 days. + monagent_log_max_days: 30 + # The maximum number for monitor agent log files. The default value is 15. + monagent_log_max_backups: 15 + # Username for HTTP authentication. The default value is admin. + http_basic_auth_user: admin + # Password for HTTP authentication. + http_basic_auth_password: ****** + # Monitor password for OceanBase Database. The default value is empty. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the ocp_agent_monitor_password in oceanbase-ce. + monitor_password: ****** + # The SQL port for observer. The default value is 2881. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the mysql_port in oceanbase-ce. + sql_port: 2881 + # The RPC port for observer. The default value is 2882. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the rpc_port in oceanbase-ce. + rpc_port: 2882 + # Cluster name for OceanBase Database. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the appname in oceanbase-ce. + cluster_name: obcluster + # Cluster ID for OceanBase Database. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the cluster_id in oceanbase-ce. + cluster_id: 1 + # The redo dir for Oceanbase Database. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the redo_dir in oceanbase-ce. + ob_log_path: /home/admin/observer/store + # The data dir for Oceanbase Database. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the data_dir in oceanbase-ce. + ob_data_path: /home/admin/observer/store + # The work directory for Oceanbase Database. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the home_path in oceanbase-ce. + ob_install_path: /home/admin/observer + # The log path for Oceanbase Database. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the {home_path}/log in oceanbase-ce. + observer_log_path: /home/admin/observer/log + # Monitor status for OceanBase Database. Active is to enable. Inactive is to disable. The default value is active. When you deploy an cluster automatically, OBD decides whether to enable this parameter based on depends. + ob_monitor_status: active + 10.10.10.1: + # Zone name for your observer. The default value is zone1. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the zone name in oceanbase-ce. + zone_name: zone1 + 10.10.10.2: + # Zone name for your observer. The default value is zone1. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the zone name in oceanbase-ce. + zone_name: zone2 + 10.10.10.3: + # Zone name for your observer. The default value is zone1. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. The value is the same as the zone name in oceanbase-ce. + zone_name: zone3 + ``` + + | 配置项 | 是否必选 | 默认值 | 说明 | + |----------|-----------|----------|----------| + | servers | 必选 | 无 | 每台机器需要用 `- name: 机器标识名 (换行)ip: 机器 IP` 指定,多个机器就指定多次,机器标识名不能重复。
在机器 IP 不重复的情况下,也可以使用 `- (换行)- ` 的格式指定,此时 `- ` 的格式相当于 `- name: 机器 IP(换行)ip: 机器 IP`。
**注意**
使用 OBAgent 监控 OceanBase 数据库时,servers 配置需和 OceanBase 数据库组件下的 servers 保持一致。
| + | home_path | 必选 | 无 | 组件的工作目录,建议在普通用户 admin 下。 | + | monagent_http_port | 必选 | 8088 | OBAgent 监控服务端口。 | + | mgragent_http_port | 必选 | 8089 | OBAgent 管理服务端口。 | + | log_path | 必选 | log/monagent.log | 日志路径。 | + | mgragent_log_level | 可选 | 无 | ob_mgragent 日志级别。 | + | mgragent_log_max_size | 可选 | 30 | ob_mgragent 日志文件大小,单位:MB。 | + | mgragent_log_max_days | 可选 | 30 | ob_mgragent 日志文件最大保留天数。 | + | mgragent_log_max_backups | 可选 | 15 | ob_mgragent 日志文件最大备份数。 | + | monagent_log_level | 可选 | info | ob_monagent 日志级别。 | + | monagent_log_max_size | 可选 | 200 | ob_monagent 日志文件大小,单位:MB。 | + | monagent_log_max_days | 可选 | 30 | ob_monagent 日志文件最大保留天数。 | + | monagent_log_max_backups | 可选 | 15 | ob_monagent 日志文件最大备份数。 | + | http_basic_auth_user | 必选 | admin | HTTP 服务认证用户名。 | + | http_basic_auth_password | 必选 | root | HTTP 服务认证密码。 | + | monitor_password | 可选 | 空 | OceanBase 数据库监控数据采集用户密码,其值需和 OceanBase 数据库中 `ocp_agent_monitor_password` 配置项相同。 | + | sql_port | 可选 | 2881 | OBServer 节点的 SQL 端口,其值需和 OceanBase 数据库中 `mysql_port` 配置项相同。 | + | rpc_port | 可选 | 2882 | OBServer 节点的 RPC 端口,其值需和 OceanBase 数据库中 `rpc_port` 配置项相同。 | + | cluster_name | 可选 | obcluster | OceanBase 数据库的集群名,其值需和 oceanbase-ce 组件下的 `appname` 配置项相同。 | + | cluster_id | 可选 | 1 | OceanBase 数据库 ID,其值需和 oceanbase-ce 组件下的 `cluster_id` 配置项相同。 | + | ob_log_path | 可选 | 无 | OBServer 节点日志盘路径,其值需和 oceanbase-ce 组件下的 `redo_dir` 配置项相同。 | + | ob_data_path | 可选 | 无 | OBServer 节点数据盘路径,其值需和 oceanbase-ce 组件下的 `data_dir` 配置项相同。 | + | ob_install_path | 可选 | 无 | OBServer 节点安装目录,其值需和 oceanbase-ce 组件下的 `home_path` 配置项相同。 | + | observer_log_path | 可选 | 无 | OBServer 节点安装目录下的日志路径,其值需和 oceanbase-ce 组件下的 `{home_path}/log` 相同。 | + | ob_monitor_status | 必选 | active | OceanBase 监控指标采集状态,active 表示开启,inactive 表示关闭。 | + | zone_name | 可选 | zone1 | OBServer 节点所在的 Zone 名字。 | + +3. 配置 OCP Express + + ```yaml + ocp-express: + depends: + - obagent + servers: + - name: server1 + ip: 10.10.10.4 + global: + # The working directory for ocp-express. ocp-express is started under this directory. This is a required field. + home_path: /home/admin/ocp-server + log_dir: /home/admin/ocp-server/log # The log directory of ocp express server. The default value is {home_path}/log. + memory_size: 1G # The memory size of ocp-express server. The recommend value is 512MB * (expect node num + expect tenant num) * 60MB. + jdbc_url: jdbc:oceanbase://IP:PORT/meta_db # jdbc connection string to connect to the meta db + jdbc_username: user_name@tenant_name # username to connect to meta db + jdbc_password: '' # password to connect to meta db + port: 8180 # The http port to use. + cluster_name: obcluster # the cluster name of oceanbase cluster. Refer to the configuration item appname of oceanbase + ob_cluster_id: 1 # the cluster id of oceanbase cluster. Refer to the configuration item cluster_id of oceanbase + root_sys_password: + logging_file_total_size_cap: 10GB # The total log file size of ocp-express server + server_addresses: # The cluster info for oceanbase cluster + - address: 127.0.0.1 # The address of oceanbase server + svrPort: 2882 # The rpc port of oceanbase server + sqlPort: 2881 # The mysql port of oceanbase server + ``` + + | 配置项 | 是否必选 | 说明 | + |--------------------|----------|--------------------------------------| + | home_path | 必选 | OCP Express 的工作目录,OCP Express 在该目录下启动。 | + | log_dir | 可选 | OCP Express 服务器的日志目录,默认值为 `home_path` 参数下的 log。 | + | memory_size | 必选 | OCP Express 服务器的内存容量,推荐算法为:memory_size = 512M +(期望的节点数 * 期望的租户数)* 60MB
期望的租户数需要包含 sys 和 ocp meta 租户本身。 | + | jdbc_url | 必选 | 连接 meta 租户的 JDBC 连接字符串,请确保连接串中使用到的数据库已创建。 | + | jdbc_username | 必选 | 连接 meta 租户的用户名,请确保该用户已创建。
**说明**
这里的用户名格式为 user_name@tenant_name,如果只写 user_name 而省略租户名,则默认使用 user_name@sys 连接。sys 租户不允许被当作 meta 租户使用。
| + | jdbc_password | 必选 | 连接 meta 租户的用户密码。 | + | port | 可选 | 访问 OCP Express 的 HTTP 端口。 | + | cluster_name | 必选 | OceanBase 集群的集群名称,需和 oceanbase-ce 组件中的 `appname` 配置项相同。 | + | ob_cluster_id | 必选 | OceanBase 集群的集群 ID,需和 oceanbase-ce 组件中的 `cluster_id` 配置项相同。 | + | root_sys_password | 必选 | OceanBase 集群中 root@sys 用户的密码。 | + | logging_file_total_size_cap | 必选 | 日志文件总大小,默认为 1GB。
**注意**:
该参数的单位需使用 GB 或 MB,若使用 G 或 M 单位会报错,无法成功部署 OCP Express。
| + | server_addresses->address | 必选 | OBServer 节点的 IP 地址。 | + | server_addresses->svrPort | 必选 | OBServer 节点的 rpc 端口,需和 oceanbase-ce 组件中对应节点的 `rpc_port` 配置项相同。 | + | server_addresses->sqlPort | 必选 | OBServer 节点的 mysql 端口,需和 oceanbase-ce 组件中对应节点的 `mysql_port` 配置项相同。 | + +### 步骤三:部署 OCP Express + +修改配置文件后,可执行如下命令部署并启动 OCP Express。 + +```shell +# 部署 +obd cluster deploy -c config.yaml +# 启动 +obd cluster start +``` + +OCP Express 启动后,根据输出的 `ocp-express` 的登录地址和账号密码登录 OCP Express 即可使用 OCP Express。 diff --git a/docs/zh-CN/400.user-guide/300.command-line-operations/350.deploy-ob-configserver.md b/docs/zh-CN/400.user-guide/300.command-line-operations/350.deploy-ob-configserver.md new file mode 100644 index 0000000..203b90e --- /dev/null +++ b/docs/zh-CN/400.user-guide/300.command-line-operations/350.deploy-ob-configserver.md @@ -0,0 +1,719 @@ +# 使用命令行部署 Config Server + +部署 Config Server 时,您可以选择单独部署,也可以和 OceanBase 数据库以及 ODP 一起部署,本文以合并部署为例介绍如何使用命令行部署 Config Server,并简单介绍部署 Config Server 后如何使用。 + +## 组件介绍 + +* ODP + + OceanBase Database Proxy,OceanBase 高性能反向代理服务器,简称为 ODP(又称为 OBProxy)。详细信息请参见 [ODP 文档](https://www.oceanbase.com/docs/odp-cn)。 + +* Config Server + + OceanBase Configserver,Config Server 可提供 OceanBase 的元数据注册,存储和查询服务。详细信息请参见 [ob-configserver](https://github.com/oceanbase/oceanbase/tree/master/tools/ob-configserver)。 + +## 部署 Config Server + +本节介绍如何和 OceanBase 数据库以及 ODP 一起部署 Config Server。一起部署的情况下,启动成功后该 OceanBase 数据库会被注册到 Config Server 中。 + +
+

说明

+

单独部署 Config Server 时,您只需将 OceanBase 数据库和 ODP 的组件配置信息删去即可。

+
+ +### 步骤一:修改配置文件 + +若您要同时部署 OceanBase 数据库、ODP 和 Config Server,只需在部署 OceanBase 数据库和 ODP 的配置文件下新增 ob-configserver 组件信息,并在 OceanBase 数据库和 ODP 的组件下配置依赖 ob-configserver。 + +创建一个配置文件 config.yaml,该配置文件中各个组件的配置及注意事项如下所示。 + +1. 用户配置 + + ```yaml + ## Only need to configure when remote login is required + user: + username: admin + # password: your password if need + key_file: /home/admin/.ssh/id_rsa + # port: your ssh port, default 22 + # timeout: ssh connection timeout (second), default 30 + ``` + + `username` 为登录到目标机器的用户名,确保您的用户名有 `home_path` 的写权限。`password` 和 `key_file` 均用于验证用户,通常情况下只需要填写一个。 + +
+

注意

+

在配置秘钥路径后,如果您的秘钥不需要口令,请注释或者删除 password,以免 password 被视为秘钥口令用于登录,导致校验失败。

+
+ +2. OceanBase 数据库 + + ```yaml + oceanbase-ce: + depends: + - ob-configserver + servers: + - name: server1 + # Please don't use hostname, only IP can be supported + ip: 10.10.10.2 + - name: server2 + ip: 10.10.10.3 + - name: server3 + ip: 10.10.10.4 + global: + # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field. + home_path: /home/admin/observer + # The directory for data storage. The default value is $home_path/store. + # data_dir: /data + # The directory for clog, ilog, and slog. The default value is the same as the data_dir value. + # redo_dir: /redo + # Please set devname as the network adaptor's name whose ip is in the setting of severs. + # if set severs as "127.0.0.1", please set devname as "lo" + # if current ip is 192.168.1.10, and the ip's network adaptor's name is "eth0", please use "eth0" + devname: eth0 + cluster_id: 1 + # please set memory limit to a suitable value which is matching resource. + memory_limit: 6G # The maximum running memory for an observer + system_memory: 1G # The reserved system memory. system_memory is reserved for general tenants. The default value is 30G. + datafile_size: 20G # Size of the data file. + log_disk_size: 15G # The size of disk space used by the clog files. + cpu_count: 16 + mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started. + rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started. + production_mode: false + enable_syslog_wf: false # Print system logs whose levels are higher than WARNING to a separate log file. The default value is true. + max_syslog_file_count: 4 # The maximum number of reserved log files before enabling auto recycling. The default value is 0. + # Cluster name for OceanBase Database. The default value is obcluster. When you deploy OceanBase Database and obproxy, this value must be the same as the cluster_name for obproxy. + appname: obcluster + root_password: ****** # root user password + proxyro_password: ****** # proxyro user pasword, consistent with obproxy's observer_sys_password, can be empty + server1: + zone: zone1 + server2: + zone: zone2 + server3: + zone: zone3 + ``` + + 配置文件中各配置项含义可参见 [配置文件说明](../100.configuration-file-description.md)。需要注意的配置项如下: + + * depends:您需配置 oceanbase-ce 组件依赖于 ob-configserver 组件,否则无法将该 OceanBase 数据库注册到 Config Server 中。 + + * appname:用于配置集群的名字,不配置的情况下 OceanBase 数据库无法注册到 Config Server 中。 + +3. ODP 组件 + + ```yaml + obproxy-ce: + # Set dependent components for the component. + # When the associated configurations are not done, OBD will automatically get the these configurations from the dependent components. + depends: + - oceanbase-ce + - ob-configserver + servers: + - 10.10.10.5 + global: + listen_port: 2883 # External port. The default value is 2883. + prometheus_listen_port: 2884 # The Prometheus port. The default value is 2884. + home_path: /home/admin/obproxy + # oceanbase root server list + # format: ip:mysql_port;ip:mysql_port. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. + # rs_list: 10.10.10.1:2881;10.10.10.2:2881;10.10.10.3:2881 + enable_cluster_checkout: false + # observer cluster name, consistent with oceanbase-ce's appname. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. + # cluster_name: obcluster + skip_proxy_sys_private_check: true + enable_strict_kernel_release: false + # obproxy_sys_password: # obproxy sys user password, can be empty. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. + # observer_sys_password: # proxyro user pasword, consistent with oceanbase-ce's proxyro_password, can be empty. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. + ``` + + 配置文件中各配置项含义可参见 [配置文件说明](../100.configuration-file-description.md)。您需注意请勿配置 `rs_list` 配置项,否则 ODP 无法获取 Config Server 中注册的集群信息。 + +4. Config Server 组件 + + ```yaml + ob-configserver: + servers: + - 10.10.10.1 + global: + listen_port: 8080 # The port of ob-configserver web + server_ip: 0.0.0.0 # Listen to the ob-configserver server IP。When you want to listen to the specified IP address,use it. + home_path: /home/admin/ob-configserver # The working directory for prometheus. ob-configserver is started under this directory. This is a required field. + ## log config + # log_level: info # Log printing level of ob-configserver。The default value is `info` + # log_maxsize: 30 # The total size of manager ob-configserver.Log size is measured in Megabytes.The default value is 30 + # log_maxage:7 # The days of manager expired ob-configserver.Log retention days. The default value is 7 + # log_maxbackups: 10 #The number of manager expired ob-configserver.Log. The default value is 10 + # log_localtime: true # Switch of ob-configserver.Log naming with localtime. The default value is true + # log_compress: true # Compress ob-configserver.Log switch. The default value is true + + ## vip config, configserver will generate url with vip_address and port and return it to the client + ## do not use some random value that can't be connected + # vip_address: "10.10.10.1" + # vip_port:8080 + ## storage config + # storage: + ## database type, support sqlite3 or mysql + # sqlite3: + # database_type: sqlite3 + # connection_url: "/home/admin/ob-configserver/.data.db?cache=shared&_fk=1" + + # mysql: + # database_type: mysql + # connection_url: "$user:$password@tcp($IP:$PORT)/$metadb?parseTime=true" + ``` + + 配置文件介绍: + + * server_ip:ob-configserver 服务访问白名单,默认为 `0.0.0.0`,表示 ob-configserver 所在服务器的所有 IP 都可以访问。 + + * vip_address 和 vip_port:vip_address 和 vip_port 为负载均衡访问地址配置项。如果有使用负载均衡,请在配置好负载均衡后,填写负载均衡地址 IP 与端口。 + + * database_type:数据库类型,提供 sqlite3 与 mysql,默认为 sqlite3 类型,推荐使用 mysql 类型。 + + * connection_url:数据库连接 URL。选择 sqlite3 类型时默认为 `$home_path/.data.db?cache=shared&_fk=1`;选择 mysql 类型时,connection_url 可以是 OceanBase 数据库,也可以是原生 MySQL。指定的数据库用户需要有 URL 里对应库 DDL 和 DML 的权限,需注意的是,使用 OceanBase 数据库时这里的库名请勿使用 oceanbase 库,否则会提示没有权限。 + +
+

说明

+

您可通过在 servers 下配置多台机器来部署多个 Config Server,此时 OceanBase 数据库和 ODP 默认关联第一台机器上启动的 Config Server。

+
+ +### 步骤二:启动 Config Server + +1. 部署 Config Server + + ```shell + [admin@obtest ~]$ obd cluster deploy test -c config.yaml + ``` + +2. 启动 Config Server + + ```shell + [admin@obtest ~]$ obd cluster start test + ``` + + 输出如下,可以看到 Config Server 访问地址的打印信息。 + + ```shell + +-----------------------------------------------------------+ + | ob-configserver | + +---------+------+---------------+----------+--------+------+ + | server | port | vip_address | vip_port | status | pid | + +---------+------+---------------+----------+--------+------+ + | 0.0.0.0 | 8080 | 10.10.10.1 | 8080 | active | 6270 | + +---------+------+---------------+----------+--------+------+ + curl -s 'http://10.10.10.1:8080/services?Action=GetObProxyConfig' |jq . + Wait for observer init ok + +-------------------------------------------------+ + | observer | + +---------------+---------+------+-------+--------+ + | ip | version | port | zone | status | + +---------------+---------+------+-------+--------+ + | 10.10.10.2 | 4.2.0.0 | 2881 | zone1 | ACTIVE | + +---------------+---------+------+-------+--------+ + | 10.10.10.3 | 4.2.0.0 | 2881 | zone2 | ACTIVE | + +---------------+---------+------+-------+--------+ + | 10.10.10.4 | 4.2.0.0 | 2881 | zone3 | ACTIVE | + +---------------+---------+------+-------+--------+ + obclient -h10.10.10.2 -P2881 -uroot -p'********' -Doceanbase -A + + +-------------------------------------------------+ + | obproxy | + +---------------+------+-----------------+--------+ + | ip | port | prometheus_port | status | + +---------------+------+-----------------+--------+ + | 10.10.10.5 | 2883 | 2884 | active | + +---------------+------+-----------------+--------+ + obclient -h10.10.10.5 -P2883 -uroot -p'********' -Doceanbase -A + ``` + +3. 复制执行 ob-configserver 下的访问信息 + +
+

说明

+

访问信息中的 jq 命令的作用是格式化(美化)shell 命令行下 json 的输出,可通过 sudo yum install jq 安装。

+
+ + ```json + { + "Code": 200, + "Message": "successful", + "Success": true, + "Data": { + "ObProxyBinUrl": "http://10.10.10.1:8080/client?Action=GetObProxy", + "ObProxyDatabaseInfo": { + "DataBase": "***", + "MetaDataBase": "http://10.10.10.1:8080/services?Action=ObRootServiceInfo&User_ID=alibaba&UID=admin&ObRegion=obdv1", + "Password": "***", + "User": "***" + }, + "ObRootServiceInfoUrlList": [ + { + "ObRegion": "obcluster", + "ObRootServiceInfoUrl": "http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=obcluster" + } + ], + "Version": "4660b4b1f237893ba1da50a302e4c3e6" + }, + "Trace": "07a7cac129713d00", + "Server": "10.10.10.1", + "Cost": 0 + } + ``` + + 输出中 ObRootServiceInfoUrlList 中包含一起部署的 OceanBase 集群(obcluster)的集群信息,表示该集群已成功注册到 Config Server 中。您可再次请求 ObRootServiceInfoUrl 验证 Config Server 中是否可以解析出 OceanBase 集群的信息,命令如下。 + + ```shell + curl -s 'http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=obcluster' |jq . + ``` + + 输出如下,成功解析出集群中 OBServer 节点的 IP 和端口。 + + ```json + { + "Code": 200, + "Message": "successful", + "Success": true, + "Data": { + "ObClusterId": 1, + "ObRegionId": 1, + "ObCluster": "obcluster", + "ObRegion": "obcluster", + "ReadonlyRsList": [], + "RsList": [ + { + "address": "10.10.10.4:2882", + "role": "LEADER", + "sql_port": 2881 + }, + { + "address": "10.10.10.3:2882", + "role": "FOLLOWER", + "sql_port": 2881 + }, + { + "address": "10.10.10.2:2882", + "role": "FOLLOWER", + "sql_port": 2881 + } + ], + "Type": "PRIMARY", + "timestamp": 1694084002271443 + }, + "Trace": "2b2ee036276b068e", + "Server": "10.10.10.1", + "Cost": 3 + } + ``` + +## 使用 Config Server + +部署 Config Server 后,您可通过修改 OceanBase 集群配置文件或执行 SQL 命令将 OceanBase 集群注册到 Config Server 中,通过指定 Config Server 地址启动的 ODP 可以访问该 Config Server 中注册的所有 OceanBase 集群。 + +本节介绍如何将 OceanBase 数据库注册到 Config Server 中,以及如何通过指定 Config Server 地址启动 ODP。 + +### 注册 OceanBase 集群 + +本节介绍如何将 OceanBase 集群注册到 Config Server 中,有修改 OceanBase 集群配置文件和执行 SQL 命令两种方式。 + +#### 方法一:修改 OceanBase 集群配置项 + +
+

注意

+
    +
  • +

    待注册的 OceanBase 集群配置文件需配置 appname 配置项,否则配置 config url 后重启会报错。

    +
  • +
  • +
  • +

    待注册的 OceanBase 集群需是已启动的集群,目前暂不支持配置待启动集群。

    + +
+
+ +1. 您可执行 `obd cluster edit-config` 命令编辑已有集群的配置文件,将 config url 配置到集群中。 + + 配置项示例如下: + + ```shell + obconfig_url: 'http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=test1' + ``` + + * 10.10.10.1:8080:Config Server 访问地址,此处仅为示例,您需根据实际情况修改。 + + * test1:待注册的 OceanBase 集群的 `appname` 值,此处以 appname 值为 test1 为例,您需根据实际情况修改。 + +2. 执行 `obd cluster reload` 命令重启集群,此处以部署集群名为 test1 为例。 + + ```shell + obd cluster reload test1 + ``` + +3. 执行如下命令验证 Config Server 中是否注册了该集群的信息。 + + ```shell + curl -s 'http://10.10.10.1:8080/services?Action=GetObProxyConfig' |jq . + ``` + + 输出如下,ObRootServiceInfoUrlList 中包含 test1 集群信息。 + + ```json + { + "Code": 200, + "Message": "successful", + "Success": true, + "Data": { + "ObProxyBinUrl": "http://10.10.10.1:8080/client?Action=GetObProxy", + "ObProxyDatabaseInfo": { + "DataBase": "***", + "MetaDataBase": "http://10.10.10.1:8080/services?Action=ObRootServiceInfo&User_ID=alibaba&UID=admin&ObRegion=obdv1", + "Password": "***", + "User": "***" + }, + "ObRootServiceInfoUrlList": [ + { + "ObRegion": "obcluster", + "ObRootServiceInfoUrl": "http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=obcluster" + }, + { + "ObRegion": "test1", + "ObRootServiceInfoUrl": "http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=test1" + } + ], + "Version": "4840ade8a158753aa5b9ea69ba014fc1" + }, + "Trace": "d4b4b27fae24e7b4", + "Server": "10.10.10.1", + "Cost": 1 + } + ``` + +4. 执行如下命令验证 Config Server 中是否可以解析出 OceanBase 集群的信息。 + + ```shell + curl -s 'http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=test1' |jq . + ``` + + 输出如下,成功解析出集群中 OBServer 节点的 IP 和端口。 + + ```json + { + "Code": 200, + "Message": "successful", + "Success": true, + "Data": { + "ObClusterId": 1, + "ObRegionId": 1, + "ObCluster": "test1", + "ObRegion": "test1", + "ReadonlyRsList": [], + "RsList": [ + { + "address": "10.10.10.4:4882", + "role": "LEADER", + "sql_port": 4881 + } + ], + "Type": "PRIMARY", + "timestamp": 1692699586370950 + }, + "Trace": "362172a2d5de734c", + "Server": "10.10.10.1", + "Cost": 1 + } + ``` + +#### 方法二:执行 SQL 命令 + +1. 使用 root 用户登录待注册数据库的 sys 租户 + + ```shell + obclient -h -P -uroot@sys -p -c -A + # example + obclient -h10.10.10.4 -P4883 -uroot@sys -p -c -A + ``` + + 其中,`IP` 为连接 OceanBase 数据库的 IP 地址;`PORT` 为连接 OceanBase 数据库的的端口,直连时为 `mysql_port` 配置项的值,通过 ODP 连接时为 `listen_port` 配置项的值。 + + 使用 OBClient 客户端连接 OceanBase 集群的详细操作可参考 [通过 OBClient 连接 OceanBase 租户](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000033604)。 + +2. 执行如下命令查看 obconfig_url 参数的值 + + ```sql + obclient> select name,value,svr_ip,svr_port from oceanbase.__all_virtual_sys_parameter_stat where name='obconfig_url'; + ``` + + 输出如下,表示当前集群没有配置 config url。 + + ```sql + +--------------+-------+---------------+----------+ + | name | value | svr_ip | svr_port | + +--------------+-------+---------------+----------+ + | obconfig_url | | 10.10.10.4 | 4882 | + +--------------+-------+---------------+----------+ + ``` + +3. 执行如下命令配置 obconfig_url + + ```sql + alter system set obconfig_url = 'http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=test1'; + ``` + +4. 退出集群后验证 Config Server 是否可以解析出 OceanBase 集群的信息 + + ```shell + curl -s 'http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=test1' |jq . + ``` + + 输出如下,成功解析出集群中 OBServer 节点的 IP 和端口。 + + ```json + { + "Code": 200, + "Message": "successful", + "Success": true, + "Data": { + "ObClusterId": 1, + "ObRegionId": 1, + "ObCluster": "test1", + "ObRegion": "test1", + "ReadonlyRsList": [], + "RsList": [ + { + "address": "10.10.10.4:4882", + "role": "LEADER", + "sql_port": 4881 + } + ], + "Type": "PRIMARY", + "timestamp": 1692699586370950 + }, + "Trace": "362172a2d5de734c", + "Server": "10.10.10.1", + "Cost": 1 + } + ``` + +### 启动 ODP + +您可使用 OBD 新部署一个 ODP,并配置 obproxy_config_server_url 启动,配置文件示例如下: + +```yaml +##Only need to configure when remote login is required +user: + username: admin +# password: your password if need + key_file: /home/admin/.ssh/id_rsa +# port: your ssh port, default 22 +# timeout: ssh connection timeout (second), default 30 +obproxy-ce: + servers: + - 10.10.10.2 + global: + listen_port: 2883 # External port. The default value is 2883. + prometheus_listen_port: 2884 # The Prometheus port. The default value is 2884. + home_path: /home/admin/obproxy + obproxy_config_server_url: http://10.10.10.1:8080/services?Action=GetObProxyConfig + enable_cluster_checkout: false + # observer cluster name, consistent with oceanbase-ce's appname. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. + skip_proxy_sys_private_check: true + enable_strict_kernel_release: false + # obproxy_sys_password: # obproxy sys user password, can be empty. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. + observer_sys_password: ******** # proxyro user pasword, consistent with oceanbase-ce's proxyro_password, can be empty. When a depends exists, OBD gets this value from the oceanbase-ce of the depends. + obproxy_sys_password: ******** +``` + +ODP 的详细参数介绍可参见 [ODP 参数](https://github.com/oceanbase/obdeploy/blob/master/plugins/obproxy/3.1.0/parameter.yaml)。 + +当 ODP 通过 obproxy_config_server_url 配置项启动后,可以使用 ODP 连接注册到 Config Server 中的集群。你可以通过如下命令查看 Config Server 中注册的 OceanBase 集群信息。 + +```shell +curl -s 'http://10.10.10.1:8080/services?Action=GetObProxyConfig' |jq . +``` + +输出如下,从输出中可以看到该 Config Server 中已注册 obcluster 和 test1 两个集群,此时通过 ODP 可成功连接这两个集群。 + +```json +{ + "Code": 200, + "Message": "successful", + "Success": true, + "Data": { + "ObProxyBinUrl": "http://10.10.10.1:8080/client?Action=GetObProxy", + "ObProxyDatabaseInfo": { + "DataBase": "***", + "MetaDataBase": "http://10.10.10.1:8080/services?Action=ObRootServiceInfo&User_ID=alibaba&UID=admin&ObRegion=obdv1", + "Password": "***", + "User": "***" + }, + "ObRootServiceInfoUrlList": [ + { + "ObRegion": "obcluster", + "ObRootServiceInfoUrl": "http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=obcluster" + } + { + "ObRegion": "test1", + "ObRootServiceInfoUrl": "http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=test1" + } + ], + "Version": "4840ade8a158753aa5b9ea69ba014fc1" + }, + "Trace": "d4b4b27fae24e7b4", + "Server": "10.10.10.1", + "Cost": 1 +} +``` + +### 删除集群注册信息 + +您可通过如下命令删去 Config Server 中注册的集群信息,此处以删除 test1 集群信息为例。 + +```shell +curl -X DELETE 'http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=test1&ObClusterId=1&version=2' |jq . +``` + +输出如下: + +```json +{ + "Code": 200, + "Message": "successful", + "Success": true, + "Data": "success", + "Trace": "caba1209b3a00c56", + "Server": "10.10.10.1", + "Cost": 4 +} +``` + +再次查看 Config Server 中注册的集群信息。 + +```shell +curl -s 'http://10.10.10.1:8080/services?Action=GetObProxyConfig' |jq . +``` + +输出如下,可以看到 test1 的集群信息已不存在。 + +```json +{ + "Code": 200, + "Message": "successful", + "Success": true, + "Data": { + "ObProxyBinUrl": "http://10.10.10.1:8080/client?Action=GetObProxy", + "ObProxyDatabaseInfo": { + "DataBase": "***", + "MetaDataBase": "http://10.10.10.1:8080/services?Action=ObRootServiceInfo&User_ID=alibaba&UID=admin&ObRegion=obdv1", + "Password": "***", + "User": "***" + }, + "ObRootServiceInfoUrlList": [ + { + "ObRegion": "obcluster", + "ObRootServiceInfoUrl": "http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=obcluster" + } + ], + "Version": "4840ade8a158753aa5b9ea69ba014fc1" + }, + "Trace": "d4b4b27fae24e7b4", + "Server": "10.10.10.1", + "Cost": 1 +} +``` + +## 常见问题 + +### 启动 Config Server 时,报错 `prepared statement not supported` + +**问题现象** + +当使用 OceanBase 数据库做 metadb 时,启动 Config Server 报错 `prepared statement not supported`,查看日志如下所示。 + +```shell +2022-11-16T09:52:14.47799+08:00 ERROR [12258,] caller=cmd/main.go:36:func1: start configserver failed: start config server: create configserver schema: sql/schema: reading schema information Error 1235: while parameter _ob_enable_prepared_statement is disabled, prepared statement not supported +[10.10.10.1:2882] [2022-11-16 09:52:14.459102] [YB42AC1EC731-0005EB5F1D83A0A7] fields: args:="[]" +``` + +**可能原因** + +在启动 Config Server 时,作为元数据库的 OceanBase 数据库未开启 prepared statement 功能。 + +**解决方法** + +您可通过如下两种方法解决。 + +* 方法一:在配置文件里为 Config Server 的 `connection_url` 配置项添加上 `interpolateParams=true`,示例如下。 + + ```shell + connection_url: "user:password@tcp(IP:PORT)/test?parseTime=true&interpolateParams=true" + ``` + +* 方法二:连接 OceanBase 集群开启 `_ob_enable_prepared_statement` 参数。 + + * 查询是否开启 `_ob_enable_prepared_statement` 参数。 + + ```sql + obclient> select name,value,svr_ip,svr_port from oceanbase.__all_virtual_sys_parameter_stat wherename='_ob_enable_prepared_statement'; + +-------------------------------+-------+---------------+----------+ + | name | value | svr_ip | svr_port | + +-------------------------------+-------+---------------+----------+ + | _ob_enable_prepared_statement | False | 10.10.10.1 | 2882 | + +-------------------------------+-------+---------------+----------+ + 1 row in set + ``` + + * 开启 `_ob_enable_prepared_statement` 参数。 + + ```sql + obclient> alter system set _ob_enable_prepared_statement='True'; + ``` + +### 通过 ODP 连接 Config Server 中注册的集群时报错 + +**问题现象** + +通过 ODP 连接 Config Server 中注册的集群时报错,示例如下。 + +```sql +$ obclient -h10.10.10.2 -P2883 -uroot@sys#cluster -p -Doceanbase -A +ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 11 +``` + +**可能原因** + +ODP 使用配置的查询 OceanBase 数据库的用户和密码无法访问 OceanBase 集群查询数据。 + +**解决方法** + +您可通过如下两种方法解决。 + +* 方法一:执行 `obd cluster edit-config` 命令查看配置文件,您需查看 OceanBase 集群配置文件中的 `proxyro_password` 和 ODP 配置文件中的 `observer_sys_password` 两个配置项设置是否保持一致。若配置文件中对应配置项不一致,将两者修改统一后根据输出执行对应命令重启,重启后即可通过 ODP 连接该集群。 + +* 方法二:查询 OceanBase 数据库中是否存在 `proxyro` 用户 + + * 使用 root 用户登录 OceanBase 数据库的 sys 租户 + + ```shell + obclient -h10.10.10.2 -P2881 -uroot@sys -p -Doceanbase -A + ``` + + * 查看集群中是否有 `proxyro` 用户 + + ```sql + select user,password from mysql.user; + ``` + + * 根据输出结果有如下两种处理方法 + + * 结果一:集群中无 `proxyro` 用户,执行如下命令创建 `proxyro` 用户,并将密码配置为和 ODP 配置文件中 `observer_sys_password` 配置项一致 + + ```sql + create user 'proxyro' identified by '*****'; + ``` + + * 结果二:集群中存在 `proxyro` 用户,执行如下命令修改 `proxyro` 用户密码,使其与 ODP 配置文件中 `observer_sys_password` 配置项一致 + + ```sql + alter user 'proxyro' identified by '*****'; + ``` diff --git a/docs/zh-CN/400.user-guide/300.command-line-operations/400.OCP-takeover-OBD-deployment-cluster.md b/docs/zh-CN/400.user-guide/300.command-line-operations/400.OCP-takeover-OBD-deployment-cluster.md new file mode 100644 index 0000000..cf8e363 --- /dev/null +++ b/docs/zh-CN/400.user-guide/300.command-line-operations/400.OCP-takeover-OBD-deployment-cluster.md @@ -0,0 +1,302 @@ +# 使用 OCP 接管 OBD 部署的集群 + +本文将以一个使用配置文件 distributed-example.yaml 启动的 test 部署为例,介绍如何使用 OCP 接管 OBD 部署的集群。 + +## 前提条件 + +- 请确保您安装的 OBD 版本在 V1.3.0 及以上。 + +- 请确保您安装的 OCP 版本在 V3.1.1 及以上。 + +## 修改 OceanBase 集群 + +### 检查是否满足条件 + +在使用 OCP 接管 OBD 部署的集群前,您需先使用如下命令检查是否满足接管条件。如条件不满足,则可以根据提示参考下文进行修改。 + +```shell +obd cluster check4ocp + +# 示例 +obd cluster check4ocp test +``` + +有关 `obd cluster check4ocp` 命令的具体信息请参考 [obd cluster check4ocp](../../300.obd-command/100.cluster-command-groups.md)。 + +### 设置 IDC 信息 + +默认风格的配置文件不支持配置 IDC 信息,因此需要使用 OBD 1.3.0 版本的新功能,将配置文件风格转换成 cluster 风格。 + +您可使用如下命令进行转换: + +```shell +obd cluster chst --style