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

网友投稿 294 2023-11-27

名词解释

中控机器

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

存储 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-/70026121/viewspace-2932571/,如需转载,请注明出处,否则将追究法律责任。

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

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

 发表评论

暂时没有评论,来抢沙发吧~