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

oceanbase V4.2.2社区版集群离线部署

oceanbase V4.2.2社区版

集群离线部署

通过 OBD 白屏部署 OceanBase 集群

https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000510452

本文以 x86 架构的 CentOS Linux 7.6 镜像作为环境介绍如何使用 OBD 白屏部署 OceanBase 数据库。

环境:

序号

IP地址

主机名

系统配置

系统版本

软件版本

1

192.192.103.125

obs1

4c、16G、300G+200G

Centos7.6

2

192.192.103.126

obs2

4c、16G、300G+200G

Centos7.6

3

192.192.103.127

obs3

4c、16G、300G+200G

Centos7.6

4

192.192.103.128

ocp

4c、20G、300G+200G

Centos7.6

ocp-all-in-one-4.2.2-20240315150922.el7.x86_64.tar.gz、obclient-2.2.3-1.el7.x86_64.rpm

Obclient需要访问数据库的节点自行安装,默认不安装。

一、服务器配置

1.1 配置参数(所有节点设置,设置完需要重启系统)

1/etc/security/limits.conf

root soft nofile 655350

root hard nofile 655350

* soft nofile 655350

* hard nofile 655350

* soft stack unlimited

* hard stack unlimited

* soft nproc 655360

* hard nproc 655360

* soft core unlimited

* hard core unlimited

2)nofile.conf

#echo -e "* soft nofile 20000\n* hard nofile 20000" >> /etc/security/limits.d/nofile.conf

3)/etc/security/limits.d/20-nproc.conf 

#limits.conf文件修改后不生效需要修改此文件,否则OCP安装预检失败!

*     soft    nproc    655360

4)/etc/sysctl.conf

#for oceanbase

#修改内核异步 I/O 限制

fs.aio-max-nr=1048576

#网络优化

net.core.somaxconn = 2048

net.core.netdev_max_backlog = 10000

net.core.rmem_default = 16777216

net.core.wmem_default = 16777216

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

net.ipv4.ip_local_port_range = 3500 65535

net.ipv4.ip_forward = 0

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.default.accept_source_route = 0

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_rmem = 4096 87380 16777216

net.ipv4.tcp_wmem = 4096 65536 16777216

net.ipv4.tcp_max_syn_backlog = 16384

net.ipv4.tcp_fin_timeout = 15

net.ipv4.tcp_max_syn_backlog = 16384

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_slow_start_after_idle=0

vm.swappiness = 0

vm.min_free_kbytes = 2097152

fs.file-max = 6573688

#修改进程可以拥有的虚拟内存区域数量

vm.max_map_count = 655360

#此处为 OceanBase 数据库的 data 目录

#kernel.core_pattern = /data/core-%e-%p-%t

1.2 配置NTP

1.2.1 OCP server

配置NTP server

  1. 安装ntp

#yum install –y ntp

2)修改ntp配置文件

#vi /etc/ntp.conf

添加以下参数

# Hosts on local network are less restricted.

restrict 192.192.0.0 mask 255.255.255.0 nomodify notrap

#server

server 127.127.1.0

fudge 127.127.1.0  stratum 10

注释掉server0、1、2、3行,如下

#server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

#server 2.centos.pool.ntp.org iburst

#server 3.centos.pool.ntp.org iburst

3)启动ntp server

#systemctl start ntpd

#systemctl enable ntpd

4)查看ntp服务状态

#ntpq –p

remote         refid      st t when poll reach   delay   offset  jitter

==================================================

*LOCAL(0)      .LOCL.     10 l   11   64    1    0.000    0.000   0.000

[root@ocp ocp]# ntpstat

synchronised to local net at stratum 11

   time correct to within 3948 ms

   polling server every 64 s

1.2.2 OCP Client(obs1、obs2、obs3)
  1. 安装ntp

#yum install –y ntp

  1. 修改ntp.conf配置文件

#vi /etc/ntp.conf,添加下面行

server 192.192.103.128 prefer

注释掉server0、1、2、3行,如下

#server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

#server 2.centos.pool.ntp.org iburst

#server 3.centos.pool.ntp.org iburst

  1. 手动同步时间

#时间同步很重要!!

[root@obs1 ~]# ntpdate 192.192.103.128

 1 Apr 15:06:17 ntpdate[16268]: step time server 192.192.103.128 offset 0.612050 sec

[root@obs2 ~]# ntpdate 192.192.103.128

 1 Apr 15:06:17 ntpdate[16268]: step time server 192.192.103.128 offset 0.612050 sec

[root@obs3 ~]# ntpdate 192.192.103.128

 1 Apr 15:06:17 ntpdate[16268]: step time server 192.192.103.128 offset 0.612050 sec

二、OCP安装配置

https://www.oceanbase.com/docs/common-ocp-1000000000585169

2.1 安装规划

当您选择使用图形化界面部署社区版 OCP 时,部署的用户需具有免密 sudo 权限。

2.1.1 创建用户

useradd -U admin -d /home/admin -s /bin/bash

mkdir -p /home/admin

sudo chown -R admin:admin /home/admin

2.1.2 为用户 admin 设置密码

passwd admin

2.1.3 为用户 admin 设置 sudo 权限

执行以下命令,打开 /etc/sudoers 文件。在 /etc/sudoers 文件末尾添加以下内容:

Same thing without a password

%wheel        ALL=(ALL)       NOPASSWD: ALL

admin       ALL=(ALL)       NOPASSWD: ALL

2.1.4 创建目录

mkdir -p /ocp

mkdir –p /data

2.1.5 目录赋权

chown -R admin:admin /ocp

chown -R admin:admin /data

chmod –R 775 /ocp

chmod –R 775 /data

#/ocp为ocp安装目录,/data为数据目录

2.1.6 端口规划

模块

部署单元

监听端口

协议类型

监听端口修改方式

备注

MetaDB & MonitorDB

OceanBase 数据库

2881

tcp

不支持修改

OBServer 节点 SQL 监听端口。

MetaDB & MonitorDB

OceanBase 数据库

2882

tcp

不支持修改

远程访问端口。

OCP

OCP-Server

8080

http

修改 OCP 系统参数 server.port ,重启生效。

OCP-Server web 服务监听端口,通常其它组件通过 SLB/DNS 地址访问 OCP-Server。

2.2 安装准备

下载软件:

ocp-all-in-one-4.2.2-20240315150922.el7.x86_64.tar.gz

下载地址:https://www.oceanbase.com/softwarecenter?_gl=1*cdn9mj*_ga*MTI4OTkzNzMzMy4xNzExMDc2ODA4*_ga_T35KTM57DZ*MTcxMjAzMjcxMS4yNi4xLjE3MTIwNDIzNTUuNjAuMC4w

2.3 使用图形安装OCP

本节介绍如何通过 OceanBase 安装部署工具(OceanBase Deployer,OBD)白屏化部署 OCP。

MetaDB 是 OCP 的重要组成部分,MetaDB 为 OCP 管理元信息及监控数据提供底层存储能力,OCP-Server 通过调用 MetaDB 数据为您提供 OceanBase 数据库全生命周期管理服务。您可选择以下任意一种 MetaDB 的配置方式来部署 OCP:

  • (推荐)创建全新的 OceanBase 数据库作为 OCP MetaDB
  • 使用已有的 OceanBase 数据库作为 OCP MetaDB

前提条件

  • 仅支持部署 V4.0.3 及以上版本的 OCP-CE。
  • 已安装并配置 Java 环境,目前仅支持 JDK1.8 版本,并要求构建版本号至少需为 161。
  • 获取 ocp-all-in-one-4.2.2-20240315150922.el7.x86_64.tar.gz 软件包,将软件包上传至 OCP 宿主机的任一目录,并执行如下命令进行解压。

tar zxvf  ocp-all-in-one-4.2.2-20240315150922.el7.x86_64.tar.gz

(推荐)创建全新的 OceanBase 数据库作为 OCP 的 MetaDB

2.3.1 启动 obd
  1. 登录 OCP 宿主机。
  2. 执行如下命令进入解压后软件包的 bin 目录下,并安装部署程序。

#su - admin

[admin@ocp bin]$cd /ocp/ocp-all-in-one/bin

[admin@ocp bin]$ ll

total 12

-rw-r--r-- 1 admin admin  238 Mar 18 10:14 env.sh

-rwxr-xr-x 1 admin admin 2143 Mar 18 10:14 install.sh

-rwxr-xr-x 1 admin admin  235 Mar 18 10:14 uninstall.sh

[admin@ocp bin]$ ./install.sh

  1. 执行如下命令,使环境变量生效

[admin@ocp bin]$ source ~/.oceanbase-all-in-one/bin/env.sh

  1. 执行 obd web install ,在返回信息中获取部署向导页面的 IP 地址

[admin@ocp bin]$ obd web install

start OBD WEB in 0.0.0.0:8680

please open http://192.192.103.128:8680

2.3.2 进入 OCP 部署向导页面

1.通过浏览器访问 步骤一 获取的 IP 地址,进入部署向导页面,单击 开启体验之旅

2.选择 OCP 产品,单击 确定

3. 选择 创建全新的 OceanBase 数据库,用以作为 OCP MetaDB,并单击 确定

2.3.3 配置部署相关信息
  1. 自定义待管理的 OceanBase 集群名称。

该名称具有唯一性,且集群名称必须以英文字母开头,英文或数字结尾,长度为 2~32 字符。

  1. 选择要部署的产品版本。

OceanBase OBProxy 的版本具有关联性。例如,当选择部署 V4.2.0 及以上版本的 OceanBase 数据库时,仅支持部署 V4.2.0 及以上版本的 OBProxy

如果所有安装包已上传至OCP本地库,则系统默认自动选择,

[admin@ocp rpms]$obd mirror list local

如果没有显示,则需要手动注册安装包到本地库,

[admin@ocp rpms]$ obd mirror clone *.rpm

2.3.4 配置 MetaDB

创建全新的 MetaDB,OCP-Server 将访问本地 MetaDB 以获得更好的服务可靠性。

  1. 配置部署用户。

说明

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

参数

说明

用户名

需提供主机操作系统的用户以便安装程序进行自动化配置,该用户名需具有 sudo 权限。

用户密码

需输入 用户名 的对应密码。当主机已设置免密时,可忽略此项配置。

SSH 端口

主机的 SSH 端口,默认值为 22,支持自定义端口。

使用运行用户

(可选)为运行 OCP 服务配置独立的操作系统用户。

  1. 配置 OCP 节点。

选择部署 OCP 的主机,支持配置多台主机。

注意

主机地址不能为 127.0.0.1

  1. 配置数据库节点。

参数

说明

Zone 名称

可保持默认也可自定义。Zone 名称必须以英文字母开头,英文或数字结尾,长度为 2~32 字符。部署多 Zone 的 OceanBase 集群必须有一个 Zone 与主 Zone 的 Region 相同。

OBServer 节点

选择部署 MetaDB 的主机,支持配置多台主机。

RootServer 节点

您需选择一个 IP 作为 RootService 所在的机器。多副本的 OceanBase 集群,其每个 Zone 都需指定一个 RootServer。

默认添加 1 Zone 的信息,如果您希望部署的集群 Zone 的个数大于 1 个,您可以在下方单击 新增 按钮,增加 Zone 信息。如果部署的集群 Zone 的个数小于 1 个,您可以单击 Zone 后面的删除图标。

  1. 配置集群相关信息。

参数

说明

root@sys 密码

支持自定义或随机生成。密码需要满足以下复杂度条件:

    • 长度为 8~32 个字符
    • 至少包含数字(0~9)、大写字母(A~Z)、小写字母(a~z)和特殊字符四种类型中的三种,支持的特殊字符为 ~!@#%^&*_-+=|(){}[]:;,.?/

软件路径

MetaDB 的安装路径,默认值为 /部署用户/oceanbase,支持自定义目录,您需拥有对应目录的读写权限。

数据路径

MetaDB 的数据存储路径,默认值为 /data/1,支持自定义目录。您需拥有对应目录的读写权限,且确保设置的目录为空。

日志路径

MetaDB 的日志存储路径,默认值为 /data/log1,支持自定义目录。您需拥有对应目录的读写权限,且确保设置的目录为空。

SQL 端口

MetaDB 的 SQL 端口,默认值为 2881,支持自定义端口(仅支持 1024~65535 范围),需确保设置的端口未被占用。

RPC 端口

MetaDB 的 RPC 端口,默认值为 2882,支持自定义端口(仅支持 1024~65535 范围),需确保设置的端口未被占用。

更多配置

(可选)单击可查看并配置 OceanBase 集群配置项,您可使用自动分配的值进行配置,也可自定义各个参数。OceanBase 集群相关参数说明,请参见 查看参数列表。

注意

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

  1. 配置 OBProxy 相关信息。

参数

说明

OBProxy 节点

选择部署 OBProxy 的主机。仅支持配置一个 IP,即仅支持单节点 OBProxy 安装。

SQL 端口

OBProxy 的 SQL 端口,默认值为 2883,支持自定义端口(仅支持 1024~65535 范围),需确保设置的端口未被占用。

Exporter 端口

OBProxy prometheus 监听端口,默认值为 2884,支持自定义端口(仅支持 1024~65535 范围),需确保设置的端口未被占用。

软件路径

OBProxy 的安装路径,默认值为 /部署用户/obproxy,支持自定义目录,您需拥有对应目录的读写权限。

更多配置

(可选)配置 OBProxy 集群参数。相关参数说明,请参见 OBProxy 参数说明。

注意:

集群配置选项卡—更多配置—更改系统内存保留选项,默认是30G,如果测试机内存只有16G,则需要调小,本测试调整为2G,这样ocp-server安装不会失败。

2.3.5 配置 OCP

本步骤用于配置 OCP 服务及租户信息。

  1. 配置 OCP 服务。

参数

说明

Admin 密码

OCP 管理员的账号密码,密码需要满足以下复杂度条件:

    • 长度为 8~32 个字符
    • 至少包含数字(0~9)、大写字母(A~Z)、小写字母(a~z)和特殊字符四种类型中的三种,支持的特殊字符为 ~!@#%^&*_-+=|(){}[]:;,.?/$`'"<>\

软件路径

OCP 的安装路径,默认值为 /部署用户/ocp,支持自定义软件路径,您需拥有对应目录的读写权限,且保证此路径的磁盘空间充足。

日志路径

OCP 的日志存放路径,默认值为 /home/部署用户/logs,支持自定义日志路径,您需拥有对应目录的读写权限,且保证此路径的磁盘空间充足。

软件包路径

OCP Agent 的安装路径,默认值为 /home/部署用户/software,支持自定义软件包路径,您需拥有对应目录的读写权限,且保证此路径的磁盘空间充足。

ocp.site.url

外部访问 OCP 网站的地址。要求以 http/https 开始,包含 VIP 地址/域名/端口的网址,且结尾不含斜杠(/),比如 http://localhost:8080
设置完成后,您可单击 校验 测试地址连通性。若校验失败,需根据提示信息进行修改。

服务端口

OCP 的服务监听端口,默认值为 8080,支持自定义端口(仅支持 1024~65535 范围),需确保设置的端口未被占用。

  1. 规划资源分配。

OCP 服务在运行过程中会有大量的计算和存储开销,所以需要根据待管理的对象规模进行资源规划。同时,OCP 需要在 MetaDB 中配置必要的租户以实现对 OceanBase 数据库全生命周期管理,配置完成后,系统将自动创建 元信息租户  监控数据租户

a.填写所管理的主机大小。

系统默认管理 10 台以下的主机,您可根据实际情况进行修改。

b.配置内存资源。

默认分配内存 16GiB。内存资源的配置与管理的主机数量相关,关于 OCP 主机资源规划详情,可参考 主机规划

c.配置元信息租户信息。

参数

说明

租户名称

元信息租户名称,默认为 ocp_meta,支持自定义。

密码

配置元信息租户的账号密码,密码支持随机生成或自定义。自定义密码需要满足以下复杂度条件:

      1. 长度为 8~32 个字符
      2. 至少包含数字(0~9)、大写字母(A~Z)、小写字母(a~z)和特殊字符四种类型中的三种,支持的特殊字符为 ~!@#%^&*_-+=|(){}[]:;,.?/

CPU

为元信息租户分配 CPU 资源。默认 1VCPUS,支持调整。

内存

为元信息租户分配内存资源。默认 2GiB,支持调整。

d.配置监控数据租户信息。

参数

说明

租户名称

监控数据租户名称,默认为 ocp_monitor,支持自定义。

密码

配置监控数据租户的账号密码,密码支持随机生成或自定义。自定义密码需要满足以下复杂度条件:

      1. 长度为 8~32 个字符
      2. 至少包含数字(0~9)、大写字母(A~Z)、小写字母(a~z)和特殊字符四种类型中的三种,支持的特殊字符为 ~!@#%^&*_-+=|(){}[]:;,.?/

CPU

为监控数据租户分配 CPU 资源。默认 2VCPUS,支持调整。

内存

为监控数据租户分配内存资源。默认 4GiB,支持调整。

2.3.6 环境预检查

OCP 安装信息配置完成后,您需先检查并确认配置信息,确定后开始预检查。

  • 若配置有误,单击 上一步 返回配置页面进行修改。
  • 若配置无误,单击 预检查,系统将验证您的环境是否满足安装、配置 MetaDB 与 OCP 的所有最低要求。
  • 若存在检查失败项,OCP 提供修复方案说明,您可参考修复方案对问题进行排查修复。针对可自动修复的检查项,支持单击 自动修复 进行修复。

修复完成后,您可单击 重新检查 重新执行环境预检查程序。

  • 若检查通过,单击 下一步
2.3.7 部署 OCP

OCP 部署过程中,您可以通过 部署日志 模块查看详细安装日志。

  • 若部署失败,请查看日志信息获取失败原因,并联系技术支持同学进行处理。待定位安装失败问题原因且修复问题后,单击 重新部署 ,系统将清理当前失败的 OCP 安装环境,并重新执行安装程序。
  • 若部署成功,单击 完成 退出部署程序。在退出程序前,可复制访问地址及账密信息,用以登录所部署的 OCP 平台。

三、通过OCP部署OceanBase集群

https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000510452

前提条件

  • 已上传 oceanbase-ce、 oceanbase-ce-libs 、oceanbase-ce-utils 和obproxy-ce软件包至 OCP。
  • 创建相应用户及目录(obs1、obs2、obs3)

useradd -U admin -d /home/admin -s /bin/bash

mkdir -p /home/admin

sudo chown -R admin:admin /home/admin

passwd admin

mkdir -p /ocp/{1,log1}

mkdir –p /data

chown -R admin:admin /ocp

chown -R admin:admin /data

chmod –R 775 /ocp

chmod –R 775 /data

#为用户 admin 设置 sudo 权限

执行以下命令,打开 /etc/sudoers 文件。在 /etc/sudoers 文件末尾添加以下内容:

Same thing without a password

%wheel        ALL=(ALL)       NOPASSWD: ALL

admin       ALL=(ALL)       NOPASSWD: ALL

序号

主机

IP地址

系统版本

1

obs1

192.192.103.125

Centos7.6

2

obs2

192.192.103.126

Centos7.6

3

obs3

192.192.103.127

Centos7.6

3.1 添加机器到 OCP 资源池

部署 OceanBase 集群前,您需先参考本节内容将机器添加到 OCP 资源池。

  1. 使用 admin 账号登录 OCP
  2. 在左侧导航栏中单击 主机,进入 主机 页面。
  3.  主机 页面右上角单击 添加主机

   4.在弹出的对话框中填写机器信息。

  1. 各字段填写说明如下表所示。

字段

描述

IP 地址

待添加机器的 IP,请输入机器的 IPv4 地址。

SSH 端口

默认为 22。

机型

为配置相同的主机指定的一个标签,便于 OCP 更好地管理主机。如果没有对应的机型,可在下拉菜单中单击 新增机型,添加新的机型。

机房

选择机器所处机房。如果没有对应的机房,可在下拉菜单中单击 新增机房 在 OCP 中新增机房信息。机房信息包括 机房 与 区域

    • 机房是 OceanBase 集群需要记录的一种主机属性,这个属性会作为 OceanBase 负载均衡和 SQL 语句路由策略的参考项,请按照实际情况填写。
    • 区域用于表示主机所处的地理区域,是 OceanBase 集群需要记录的主机属性之一,对于 OceanBase 集群的负载均衡和 SQL 语句路由策略会有一定的影响,请按照实际情况填写。
说明

OCP V3.1.1 版本开始支持多 AZone 模式,新增机房时,将在当前 OCP 所在的 AZone 中创建新的机房。

主机类型

有 物理机 和 容器 两种选项。

凭据

选择远程登录物理机使用的凭据,您可以在下拉菜单中单击 新增凭据 来新建凭据。
新增凭据时需注意:

    • 凭据名:以英文字母开头、英文或数字结尾,可包含英文、数字和下划线,且长度为 2 ~ 32。
    • 授权类型:包含用户名/密码和 SSH 私钥两种方式。
    • 用户类型:支持拥有 root 权限的 SSH 用户,拥有 root 权限的普通用户须先配置免密执行 sudo 指令。OCP 目前仅支持配置所有指令免密执行 sudo,即在 /etc/sudoers 文件中,添加 username ALL=(ALL) NOPASSWD:ALL

主机别名(可选)

主机别名是您为配置相同的主机指定的一个标签,建议您指定有意义的名称,便于更好地管理主机。

说明(可选)

主机的注释,便于更好地管理主机。

填写完成后,单击 确定

添加主机失败处理:在排除各节点间时间同步正常情况下,使用root在ocp机器上执行 setcap cap_net_raw+ep /usr/sbin/clockdiff ,这个主要是admin用户在接管机器时,执行clockdiff没有权限导致。

3.2 创建 OceanBase 集群

您可参考本节介绍通过 OCP 创建 OceanBase 集群。

  1. OCP 白屏界面中根据实际业务场景,找到新建集群的入口。
    • 如果您没有可管理的集群,系统会在 集群 页面提示您新建集群,可直接在提示信息中单击 创建集群
    • 如果您已有可管理的集群,可单击 集群 后在 集群 页面右上角单击 创建集群
  2.  创建集群 页面,设置集群的基础信息。

Ocenbase版本,选择是上传文件,包含oceanbase-ce、oceanbase-ce-libs、oceanbase-ce-utils。上传完成后,选择oceanbase-ce-4.2.1.2-102010022023121415.el7即可。

基础信息相关说明如下表所示。

配置

描述

集群类型

选择 主集群

集群名称

自定义待管理的集群的名称。集群名称必须以英文字母开头,可支持大小写字母、数字和下划线,长度为 2 ~ 48 个字符。

root@sys 密码

支持自定义或随机生成。密码需要满足以下复杂度条件:
 

  • 长度:8 ~ 32 字符
  • 支持字母、数字和特殊字符,且至少包含大、小写字母、数字和特殊字符各 2 个
  • 支持的特殊字符如下:~!@#%^&*_-+=|(){}[]:;,.?/


输入密码后,您可以单击 复制密码,将自定义或随机生成的密码复制到剪贴板。

OB 版本

可以从列表中选择已有的 OceanBase 数据库版本,也可以在下拉菜单中单击 添加版本,上传 OceanBase RPM 包。

关联 OBProxy 集群

该选项用于关联已有的 ODP 集群,如您创建的是多副本的 OceanBase 集群,建议您打开 关联 OBProxy 集群 开关,为该 OceanBase 集群关联 ODP 集群。 关联后您的业务涉及的 SQL 请求将会被精准转发到相应的副本,使您对 OceanBase 数据库的访问效果能够媲美访问单机数据库。

  • 默认使用 proxyro 用户关联,您无需填写用户名和密码。
  • 在下拉框中选择要关联的 ODP 集群。如下拉框中没有可关联的 ODP 集群,请参考本文 前提条件 中的描述添加 ODP 集群。

注意
当 OB 版本 中选择的集群为 V4.0 及以上版本时,仅支持关联 V4.0.0 及以上版本的 OBProxy 集群。

   3.设置集群的部署模式信息。

默认添加 3 个 Zone 的信息,如果您希望部署的集群 Zone 的个数大于 3 个,您可以在下方单击 + 新增 按钮,增加 Zone 信息。如果部署的集群 Zone 的个数小于 3 个,您可以单击 Zone 后面的删除图标。

每个 Zone 需要设置的信息及其说明如下表所示。

配置

描述

Zone 名称

一般会有一个默认名称,您可以根据需要自定义名称。 Zone 名称必须以英文字母开头,可支持大小写字母、数字和下划线,长度为 2 ~ 48 个字符。部署多 Zone 的 OceanBase 集群必须有一个 Zone 与主 Zone 的 Region 相同。

机房

Zone 所在的机房,一个 Zone 只能存在于一个机房。

机型(可选)

如果选择了机型,后面主机列表会根据机型进行过滤。

CPU 架构

当选择的 OB 版本 中存在多个不同架构的安装包时,需选择匹配此软件包的主机硬件架构。

注意
  • 默认架构类型为第一个安装包的架构类型,支持切换。切换指定架构后,主机 列表中即展示该架构的主机。
  • 为不同的 Zone 设置不同的架构时,混合架构部署模式可能存在稳定性与性能问题,请谨慎操作。

主机

您可以选择多个主机,或进行添加主机的操作。

RootServer 位置

您需选择一个 IP 作为 Root Service 所在的机器。多副本的 OceanBase 集群,其每个 Zone 都需指定一个 Root Server。

Zone 优先级排序

Zone 的优先级排序。最高优先级的 Zone 会被视为 Primary Zone,且只能有一个。 排序方法如下:

  1. 勾选左侧列表框中的一个或多个 Zone。左侧列表框中显示了当前集群中所有可选的 Zone。
  2. 单击中间的 > 按钮。 此时勾选的 Zone 就会被移动到 优先级排序 列表中。同时勾选的多个 Zone 具有相同的优先级。
  3. 重复 1、2 动作,添加低一优先级的 Zone。
  4. 如需调整优先级,可在 优先级排序 列表中拖拽以调整顺序。

列表中从上到下,优先级依次递减。

  4.打开 参数配置 模块,并配置集群参数。

  • 您可通过如图 ① 处,逐个添加启动参数项并为其配置值。
  • 您也可通过如图 ② 处,单击 选择参数模板 选择一个参数模板,系统会将模板中的参数连同配置自动填充到此处。

可选择默认参数模板。

  1. 打开 自定义配置,对路径及端口进行配置。
  • 配置路径:

a.在 路径配置 模块,根据需要自定义 软件安装路径数据盘路径 和 日志盘路径

b.配置完成后,单击 测试,校验路径是否可用。若不可用,您可根据测试结果进行排查,或将路径修改为其它可用路径。

  • 配置端口

a.在 端口配置 模块,自定义 SQL 端口 和 RPC 端口。

b.配置完成后,单击 测试,校验端口是否已被占用。若被占用,您需重新配置可用端口。

6.完成测试后,单击 提交

7.在弹出的 确认提交信息 对话框中,确认信息无误后,单击 确定

说明

您可在 系统管理 > 任务 中查看该任务的执行进度。

完成创建后,OceanBase 集群如下:

四、通过OCP部署Obproxy集群

序号

主机

IP地址

系统版本

1

obs1

192.192.103.125

Centos7.6

2

obs2

192.192.103.126

Centos7.6

  1. 登录 OCP。
  2. 在左侧导航栏单击 OBProxy ,进入 OBProxy 页面。
  3. 单击右上方的 创建 OBProxy 集群 。
  4. 在 创建 OBProxy 集群 页面填写如下信息:

a.参考下表,配置 基本信息 

参数

说明

集群名

您可根据实际业务情况,自定义集群名称,以英文字母开头,可包含英文、数字和下划线。

录入 Proxyro 账号的密码

Proxyro 账号用于 OBProxy 访问 OB 集群,未录入则使用 Proxyro 账号的默认密码进行连接。密码格式要求如下:

  1. 长度为 8 ~ 32 个字符。
  2. 只能包含字母、数字和特殊字符 ~!@#%^&*_-+=|(){}[]:;,.?/
  3. 大小写字母、数字和特殊字符都至少包含 2 个。

负载均衡管理

开启负载均衡管理后,可通过配置 OBLB 来提升 OBProxy 集群的负载均衡能力。

  1. OBLB 服务:您可选择部署 OCP 时已配置的 OBLB 服务,或单击 添加 OBLB 服务 按钮,在右侧面板中新建 OBLB 服务,详情可参考 管理负载均衡 中的 新建负载均衡
    1. OBLB 服务地址:OBLB 的服务地址。
    2. OBLB 服务端口:默认为 9090,可根据实际情况进行更改。
    3. 用户名及密码:OBLB 服务的用户名及密码,用于调用 OBLB 接口的认证信息。
  2. VIP:选择 OBLB 具体的 VIP 地址。
  3. 访问端口:默认为 2883,支持自定义端口号。
  4. 域名配置(可选):用于指向 VIP 及端口的配置信息,平台未提供 VIP 与域名的映射关系,需自行准备域名解析服务。

说明
负载均衡管理 中的 SLB 服务 仅适用于专有云环境,建议联系技术支持同学进行协助。

访问地址

当 负载均衡管理 关闭时展示,为 OBProxy 集群的访问地址,仅用于生成租户的连接串,不影响实际使用,需要自主配置负载均衡,如果是 VIP 地址,还需要您自主申请并绑定到 OBProxy Server。

访问端口

当 负载均衡管理 关闭时展示,默认为 2883,需要根据 VIP 的真实端口填写。

启动方式

该 OBProxy 集群的启动方式,可取值:

  1. ConfigUrl:多集群启动方式,即该 OBProxy 集群可访问多个 OceanBase 集群。
  2. RsList:单集群启动方式,即该 OBProxy 集群仅可访问创建 OBProxy 集群时指定的那个 OceanBase 集群,OBProxy 集群创建成功后不可追加可连接的 OB 集群。

可连接的 OB 集群

设置该 OBProxy 集群可访问的 OceanBase 集群。

  1. 当 启动方式 配置为 ConfigUrl 时,该参数非必填,集群创建成功后,可通过 添加可连接的 OB 集群 添加。
  2. 当 启动方式 配置为 RsList 时,该参数必填。 在下拉框中选择对应的集群。
  3. 当密码箱中存在该集群 proxyro 用户的连接凭证时,会默认选择 proxyro 用户。
  4. 当密码箱中不存在该集群 proxyro 用户的连接凭证时,请单击 新建连接 ,为该集群的 proxyro 用户创建连接凭证。

1)设置集群名,

2)打开登入proxyro账号密码开关,设置密码

3)上传软件包,obproxy-ce-4.2.1.0-11.el7.x86_64.rpm

4)设置访问地址,一个VIP(192.192.103.129)

b.(可选)配置 部署 OBProxy 。

如需在创建 OBProxy 集群时就部署 OBProxy,可在该步骤就行配置。否则可跳过该步骤,待集群创建成功后,通过 添加 OBProxy 向集群中添加 OBProxy。

  1. 打开配置 部署 OBProxy 的开关。
  2. 参考下表填写部署信息。

参数

说明

SQL 端口

默认为 2883。

Exporter 端口

默认为 2884。

软件版本

选择要安装的 OBProxy 版本。

说明
若 可连接的 OB 集群 中存在 V4.0 及以上版本的集群时,仅支持选择 V4.0.0 及以上版本的 OBProxy 软件包。

选择 OBProxy 主机

选择部署 OBProxy 所使用的主机,包括该主机的 机房、主机。

系统默认显示四个主机的选择,可以部署四个 OBProxy。

  1. 如需部署更多,可单击 添加 OBProxy 来增加主机。
  2. 如只部署 1 个 OBProxy,可单击如上图所示的主机后的删除图标来删除该主机。

c.打开 参数设置 ,添加或修改启动参数和其它参数,参数说明参见 OBProxy 参数说明。可以不设置。

d.自定义设置

设置软件安装目录。

5.单击 提交 ,开始创建 OBProxy 集群。

6.查看任务日志

7,查看部署结果

五、关联OceanBase数据库集群和OBproxy集群

集群概览—关联OBProxy集群

关联后结果如下:

六、OceanBase连接

支持通过 OBProxy 连接数据库或者直接连接数据库。

  1. 通过OBProxy 连接数据库

[root@ocp ocp]# obclient -h192.192.103.125 -uroot@sys#test_obs_cluster -P2883 -p -c -A oceanbase

说明

  • -h:提供 OceanBase 数据库连接 IP,通常是一个 OBProxy 地址。
  • -u:提供租户的连接账户,格式有两种:用户名@租户名#集群名 或者 集群名:租户名:用户名。租户的管理员用户名默认是 root
  • -P:提供 OceanBase 数据库连接端口,也是 OBProxy 的监听端口,默认是 2883,可以自定义。
  • -p:提供帐号密码。为了安全可以不提供,改为在后面提示符下输入,密码文本不可见。
  • -c:表示在运行环境中不要忽略注释。
  • -A:表示在连接数据库时不自动获取统计信息。
  • oceanbase:访问的数据库的名称,可以更改为业务数据库。
  1. 通过直连方式

[root@ocp ~]# obclient -h192.192.103.125 -uroot@sys -P2881 -p -c -A oceanbase

或者

使用mysql客户端登录(兼容的)

-bash-4.2$ mysql -uroot -h 192.192.103.125 -P 2881 -p

#注意,observer运行目录下log目录增长迅速,会导致磁盘满,导致observer节点亢死无法服务,所以创建crontab任务,定期删除log。

[admin@obs1 ~]$ crontab -l

0 */2 * * * /usr/bin/find /oceanbase/oceanbase/log  -name "observer.log.*" -mmin +60|xargs rm -rf

附-OCP安装报告

+----------------------- Packages---------+------------------------------------------+

| Repository    | Version | Release       | Md5                                      

+------------+------------------------+------------------------------------------+

| oceanbase-ce  | 4.2.1.2 | 102010022023121415.el7 | 1873bbe80cbbe5d00d5f276a4f7302cfca677fb6 |

| obproxy-ce    | 4.2.1.0 | 11.el7                 | 0aed4b782120e4248b749f67be3d2cc82cdcb70d |

| ocp-server-ce | 4.2.2   | 20240315150922.el7     | 84a65bf0ec004e73b772938696b2b896a0ef2b2f |

+---------+---------+------------------------+----------------------------------------+

Repository integrity check ok

Parameter check ok

Generate ocp server configuration ok

Cluster status check ok

Initializes observer work home ok

Initializes obproxy work home ok

Initializes ocp-server work home ok

Remote oceanbase-ce-4.2.1.2-102010022023121415.el7-1873bbe80cbbe5d00d5f276a4f7302cfca677fb6 repository install ok

Remote oceanbase-ce-4.2.1.2-102010022023121415.el7-1873bbe80cbbe5d00d5f276a4f7302cfca677fb6 repository lib check !!

Remote obproxy-ce-4.2.1.0-11.el7-0aed4b782120e4248b749f67be3d2cc82cdcb70d repository install ok

Remote obproxy-ce-4.2.1.0-11.el7-0aed4b782120e4248b749f67be3d2cc82cdcb70d repository lib check ok

Remote ocp-server-ce-4.2.2-20240315150922.el7-84a65bf0ec004e73b772938696b2b896a0ef2b2f repository install ok

Remote ocp-server-ce-4.2.2-20240315150922.el7-84a65bf0ec004e73b772938696b2b896a0ef2b2f repository lib check ok

Try to get lib-repository

Remote oceanbase-ce-libs-4.2.1.2-102010022023121415.el7-3d3eeee6694be9b8debb0c3f8b5b6583c06e3b62 repository install ok

Remote oceanbase-ce-4.2.1.2-102010022023121415.el7-1873bbe80cbbe5d00d5f276a4f7302cfca677fb6 repository lib check ok

myoceanbase deployed

Search plugins ok

Load cluster param plugin ok

Check before start observer ok

[WARN] OBD-1007: (192.192.103.128) The recommended number of open files is 655350 (Current value: 20000)

[WARN] OBD-1012: (192.192.103.128) clog and data use the same disk (/data)

Start observer ok

observer program health check ok

Connect to observer ok

Initialize oceanbase-ce ok

Wait for observer init ok

+---------------------------------------------------+

|            observer                |

+-----------------+---------+------+-------+--------+

| ip         | version | port | zone  | status |

+-----------------+---------+------+-------+--------+

| 192.192.103.128 | 4.2.1.2 | 2881 | zone1 | ACTIVE |

+-----------------+---------+------+-------+--------+

obclient -h192.192.103.128 -P2881 -uroot -p'ROot@@123' -Doceanbase -A

succeed

Search plugins ok

Load cluster param plugin ok

Check before start obproxy ok

Start obproxy ok

obproxy program health check ok

Connect to obproxy ok

Initialize obproxy-ce ok

+---------------------------------------------------+

|           obproxy               |

+-----------------+------+-----------------+--------+

| ip              | port | prometheus_port | status |

+-----------------+------+-----------------+--------+

| 192.192.103.128 | 2883 | 2884            | active |

+-----------------+------+-----------------+--------+

obclient -h192.192.103.128 -P2883 -uroot -p'ROot@@123' -Doceanbase -A

succeed

Search plugins ok

Load cluster param plugin ok

Check before start ocp-server ok

Create tenant ocp_meta ok

Create tenant ocp_monitor ok

Start ocp-server ok

ocp-server program health check ok

Start ocp-server ok

ocp-server program health check ok

Connect to ocp-server ok

+--------------------------------------------------------------+

|              ocp-server                   |

+-----------------------------+----------+------------+--------+

| url                 | username | password   | status |

+-----------------------------+----------+------------+--------+

| http://192.192.103.128:8080 | admin    | ADmin@@123 | active |

+-----------------------------+----------+------------+--------+

succeed

Open ssh connection ok

precheck for export obcluster to ocp.

Get local repositories and plugins ok

Load cluster param plugin ok

Open ssh connection ok

Connect to observer ok

Configurations of the oceanbase-ce can be taken over by OCP.

oceanbase-ce Check passed.

Package oceanbase-ce-utils-4.2.1.2-102010022023121415.el7 is available.

install oceanbase-ce-utils-4.2.1.2 for local ok

Remote oceanbase-ce-utils-4.2.1.2-102010022023121415.el7-8d9490944c0cf35efe36fee39d5b56c622a2c82f repository install ok

takeover task successfully submitted to ocp, you can check task at http://192.192.103.128:8080/task/13


http://www.kler.cn/a/379700.html

相关文章:

  • Openlayers高级交互(18/20):根据feature,将图形适配到最可视化窗口
  • 安全性测试
  • scala的属性访问权限
  • 【网络安全】开发中存在的重定向与Referer问题
  • 【论文阅读笔记】Wavelet Convolutions for Large Receptive Fields
  • 学webpack之loader原理,让面试官跪下来唱征服
  • 图像边缘算法复现研究
  • 详解:枚举类
  • 【力扣专题栏】K个一组对链表进行翻转,如何实现分组翻转链表?
  • 东方通TongWeb替换Tomcat的踩坑记录
  • VLAN间通信以及ospf配置
  • 2024年第六届全球校园人工智能算法精英大赛——【算法挑战赛】钢材表面缺陷检测与分割 比赛复盘
  • aws(学习笔记第十课) 对AWS的EBS如何备份(snapshot)以及使用snapshot恢复数据,AWS实例存储
  • 深度学习-如何计算神经网络的输出?
  • 重学SpringBoot3-整合 Elasticsearch 8.x (二)使用Repository
  • 为什么说模拟电路的难点就在开通过程和关断过程?难在什么地方?
  • 【数学二】线性代数-矩阵-初等变换、初等矩阵
  • 数据结构模拟题[十一]
  • 【使用 Python 和 ADB 检查 Android 设备的 Wi-Fi 状态】
  • python实现钉钉群机器人消息通知(消息卡片)
  • kafka消费端常见故障及处理方法
  • MySQL 高性能优化规范建议
  • 浅谈RPC的实现原理与RPC实战
  • HTTP、WebSocket、gRPC 或 WebRTC:各种协议的区别
  • 【LwIP源码学习5】网口接收数据处理过程
  • 【Python+Pycharm】2024-Python安装配置教程