打卡OceanBase5|如何部署 OceanBase 数据库生产环境?

网友投稿 504 2023-11-27 13:56:54

名词解释

中控机器

存储 OceanBase 数据库安装包和集群配置信息的机器。

目标机器

安装 OceanBase 数据库的机器。

OBD

OceanBase Deployer,OceanBase 开源软件的安装部署工具,简称为 OBD。

OBProxy

OceanBase Database Proxy,OceanBase 高性能反向代理服务器,简称为 OBProxy。

OCP

OceanBase Cloud Platform,OceanBase 运维管理工具,简称为 OCP。

前提条件

在连接 OceanBase 数据库之前,请您确认以下信息:

您的机器满足软硬件要求。详细信息,参考  。

生产环境下,您需要进行环境和配置检查,具体操作请参考  。

部署模式

本文采用三副本部署模式,推荐使用四台机器,您可以根据自己实际情况选择合适的部署方案。其中:

使用一台机器部署 OBProxy、Grafana、Prometheus;如果您已经安装或计划安装OCP,则无需安装 Grafana 和 Prometheus。

使用三台机器部署 OceanBase 集群。

说明

在生产环境下,推荐将 OBProxy 和应用部署在一台机器上,以节省应用访问 OBProxy 的时间。您可以在每个应用的服务器上部署一个 OBProxy 服务。在本例中,为了更方便使用,将 OBProxy 单独部署。

部署 OBProxy 的机器使用的配置可以和部署 OceanBase 数据库的机器配置不一致。部署 OBProxy 只需 1C/1G 内存即可。

注意

以下内容以 x86 架构的 CentOS Linux 7.9 镜像作为环境,其他环境可能略有不同。

下载并安装 all-in-one package

从 V4.0.0 开始,OceanBase 提供统一的安装包 all-in-one package。您可以通过这个统一的安装包一次性完成 OBD、OceanBase 数据库、OBProxy、obagent、Grafana 和 Prometheus 的安装;您可以根据实际需求选择部分组件安装或者指定组件的版本。

从   下载最新的 all-in-one package,oceanbase-all-in-one-4.xx.xx-xxx.tar.gz。

执行以下命令解压安装包并安装。

tar -xzf oceanbase-all-in-one-4.xx.xx-xxx.tar.gz cd oceanbase-all-in-one/bin/ ./install.sh

执行  which obd 和  which obclient 检测是否安装成功, 如果可以找到 oceanbase-all-in-one 下的 obd 和 obclient 路径,则表示安装成功。

[root@test .obd]# which obd /root/.oceanbase-all-in-one/obd/usr/bin/obd [root@test .obd]# which obclient /root/.oceanbase-all-in-one/obclient/u01/obclient/bin/obclient

安装 OceanBase 数据库

为了数据安全,建议您切换到非 root 用户。

选择配置文件。

所有配置文件均存放在  ~/.oceanbase-all-in-one/conf 目录下, 您也可以从   上下载最新的配置文件。根据您的实际情况选择相应的配置文件:

使用默认安装配置文件( ~/.oceanbase-all-in-one/conf/autodeploy/default-example.yaml)。

如果您采用单机安装,即目标机器只有一台,可修改配置文件, 使之适配单机部署。

修改配置文件。

以部署分布式 OceanBase 数据库和 OBProxy 为例,按照以下步骤修改配置文件:

修改用户名和密码。

## 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

修改每台机器的 IP、 home_path、 data_dir 和  redo_dir。

oceanbase-ce:   servers:     - name: z1       # Please dont use hostname, only IP can be supported       ip: 172.xx.xxx.200     - name: z2       ip: 172.xx.xxx.201     - name: z3       ip: 172.xx.xxx.202   global:     # Please set devname as the network adaptors 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 ips network adaptors name is "eth0", please use "eth0"     devname: eth0     # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.     home_path: /home/admin/oceanbase/ob     # The directory for data storage. The default value is $home_path/store.     data_dir: /data/ob     # The directory for clog, ilog, and slog. The default value is the same as the data_dir value.     redo_dir: /redo/ob

说明

您必须根据您的真实配置修改这些参数。

配置 OBProxy 并修改 IP 和  home_path。

obproxy-ce:   servers:     - 172.xx.xxx.203   global:     # The working directory for obproxy. Obproxy is started under this directory. This is a required field.     home_path: /home/admin/obproxy

说明

您可以使用在线 YAML 文件校验器对您的配置文件进行检测。详细信息,参考  。 在本例中, 使用的是 autodeploy 进行安装部署, autodeploy 会自动探测硬件以调整参数,但有可能资源没有最大化,例如:硬盘空间不足时,会缩小内存的使用。如果您对 OceanBase 各参数较为了解,推荐使用 deploy 进行安装部署。如果使用  deploy,则使用的配置文件位于  ~/.oceanbase-all-in-one/conf 目录下,非  ~/.oceanbase-all-in-one/conf/autodeploy 目录下。

部署 OceanBase 集群

执行以下命令部署 OceanBase 集群。

obd cluster autodeploy obtest -c default-example.yaml

当安装了 Grafana 或 Prometheus 时,会输出 Grafana 或 Prometheus 的访问地址,类似以下输出。在阿里云或其他云环境下,因为安装程序可能无法获取公网 IP,可能输出的是内网地址(在本例中,为 172.30.62.249),此 IP 非公网地址,您需要使用正确的地址。

+------------------------------------------------------+ |                      prometheus                      | +---------------------------+------+----------+--------+ | url                       | user | password | status | +---------------------------+------+----------+--------+ | |      |          | active | +---------------------------+------+----------+--------+

说明

all-in-one package 提供的组件已经经过相互适配测试,为官方推荐版本。如果您需要安装历史版本或者自己编译的版本,则需要提前将安装的目标 rpm clone 到 OBD 仓库当中,类似参考如下。

sudo yum install -y yum-utils sudo yum-config-manager --add-repo  obd mirror clone oceanbase-ce-3.1.4-10000092022071511.el7.x86_64.rpm obd mirror clone oceanbase-ce-libs-3.1.4-10000092022071511.el7.x86_64.rpm obd cluster autodeploy obtest -c default-example.yaml

部署完成后,可以执行以下命令查看 OceanBase 集群。

obd cluster list

(可选)修改集群配置

OceanBase 数据库有数百个配置项,有些配置是耦合的,在您熟悉 OceanBase 数据库之前,不建议您修改示例配件文件中的配置。此处示例用来说明如何修改配置,并使之生效。

# 使用 edit-config 命令进入编辑模式,修改集群配置 obd cluster edit-config obtest # 修改 sys_bkgd_migration_retry_num 为 5 # 注意 sys_bkgd_migration_retry_num 值最小为 3 # 保存并退出后,OBD 会告知您如何使得此次改动生效 # 此配置项仅需要 reload 即可生效 obd cluster reload obtest

连接 OceanBase 数据库

运行以下命令,使用 OBClient 客户端连接 OceanBase 数据库:

obclient -h<your_ip> -P<obproxy_port> -uroot

其中, your_ip 为您 OceanBase 实例所在的机器 IP 地址。OBProxy 默认使用端口  2883 连接 OBClient。如果您对端口做了更改,此处使用您实际的端口号。

创建普通租户

要使用 OceanBase 数据库,您需要创建普通租户。您的业务数据必须在普通租户下运行。

您可以使用以下方法创建普通租户:

使用 OBD 创建普通租户。

obd cluster tenant create ${cluster_name} -n ${tenant_name}

安装组件

推荐您使用 all-in-one 的 package 进行安装, 但如果您不希望使用 all-in-one package 中包含的组件版本,想要安装其他版本的组件或者自由组合软件的版本,可以参考以下操作进行安装。

离线安装 OBD

您可以从   下载所需版本的 OBD。推荐您使用最新版本的安装包。

下载完成后,将 OBD 复制到您的中控机器上。

在 CentOS 或 RedHat 系统上,执行以下命令安装 OBD:

yum install ob-deploy-x.x.x.el7.x86_64.rpm

在 Ubuntu 或 Debian 系统上,执行以下命令安装 OBD:

alien --scripts -i ob-deploy-x.x.x.el7.x86_64.rpm

离线安装 OBClient

您可以从   下载 OBClient,建议下载最新版本的安装包。

下载完成后,将 OBClient 复制到您的中控机器上。

在 CentOS 或 RedHat 系统上,执行以下命令安装 OBClient:

yum install libobclient-x.x.x.el7.x86_64.rpm yum install obclient-x.x.x-2.el7.x86_64.rpm

在 Ubuntu 或 Debian 系统上,执行以下命令安装 OBLibs:

alien --scripts -i libobclient-x.x.x.el7.x86_64.rpm alien --scripts -i obclient-x.x.x.el7.x86_64.rpm

安装 OceanBase 数据库和 OBProxy

安装 OceanBase 数据库和 OBProxy 之前,为了数据安全,建议您切换到非 root 用户。

如果离线安装 OceanBase 数据库和 OBProxy,从   下载 OceanBase 数据库、OBLibs 和 OBProxy。

oceanbase-ce-x.x.x.x-xxxx.el7.x86_64

oceanbase-ce-libs-x.x.x.x-xxxx.el7.x86_64

obproxy-ce-x.x.x-x.el7.x86_64

下载完成后,将 OceanBase 数据库和 OBProxy 复制到您的中控机器上。

跳转至上述安装包的下载目录,按照以下步骤安装 OceanBase 数据库和 OBProxy:

禁用远程仓库

obd mirror disable remote

离线安装时,您必须禁用远程仓库。

注意

如果您是在线安装,并且您的操作系统是 Anolis、CentOS 或 RedHat,跳过此步骤。

将安装包添加至本地镜像

obd mirror clone *.rpm

查看镜像列表

obd mirror list

选择配置文件

如果您采用单机安装,即目标机器只有一台,可使用单机安装配置文件(/usr/obd/example/autodeploy/single-example.yaml)。

如果您采用分布式安装,即目标机器有多台,可使用分布式安装配置文件(/usr/obd/example/autodeploy/default-example.yaml)。

示例采用自动部署配置文件。自动部署将根据简易配置和目标机器资源生成最大规格配置并启动 OceanBase 数据库。

修改配置文件

以部署分布式 OceanBase 数据库和 ODP 为例,按照以下步骤修改配置文件:

修改用户名和密码

## 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

修改每台机器的 IP、 home_path、 data_dir 和  redo_dir

oceanbase-ce:   servers:     - name: z1       # Please dont use hostname, only IP can be supported       ip: 172.xx.xxx.200     - name: z2       ip: 172.xx.xxx.201     - name: z3       ip: 172.xx.xxx.202   global:     # Please set devname as the network adaptors 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 ips network adaptors name is "eth0", please use "eth0"     devname: eth0     # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.     home_path: /home/admin/oceanbase/ob     # The directory for data storage. The default value is $home_path/store.     data_dir: /data/ob     # The directory for clog, ilog, and slog. The default value is the same as the data_dir value.     redo_dir: /redo/ob

说明

您必须根据您的真实配置修改这些参数。

配置 ODP 并修改 IP 和 home_path

obproxy-ce:   servers:     - 172.xx.xxx.203   global:     # The working directory for obproxy. Obproxy is started under this directory. This is a required field.     home_path: /home/admin/obproxy

您可以使用在线 YAML 文件校验器对您的配置文件进行检测。详细信息,参考  。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/70026121/viewspace-2932571/,如需转载,请注明出处,否则将追究法律责任。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mysql慢查询日记怎么配置
下一篇:mysql如何查询数据库有多少张表
相关文章