13 KiB
生产环境部署 OceanBase 数据库
名词解释
-
中控机器
存储 OceanBase 数据库安装包和集群配置信息的机器。
-
目标机器
安装 OceanBase 数据库的机器。
-
OBD
OceanBase Deployer,OceanBase 开源软件的安装部署工具,简称为 OBD。
-
ODP
OceanBase Database Proxy,OceanBase 高性能反向代理服务器,简称为 ODP。
前提条件
在连接 OceanBase 数据库之前,请您确认以下信息:
-
您的机器满足软硬件要求。详细信息,参考 资源准备。
-
您拥有 root 账户权限。如无特殊说明,均使用 root 操作。
-
生产环境下,确保您已完成以下操作:
-
您已经查看资源。更多信息,参考 查看资源。
-
您已经设置无密码 SSH 登录。更多信息,参考 设置无密码 SSH 登录。
-
您已经配置时钟源。更多信息,参考 配置时钟源。
-
您已经规划磁盘。更多信息,参考 规划磁盘。
-
您已经配置 limits.conf。更多信息,参考 配置 limits.conf。
-
您已经配置 sysctl.conf。更多信息,参考 配置 sysctl.conf。
-
您已经关闭防火墙和 SELinux。更多信息,参考 关闭防火墙和 SELinux。
-
你已经创建用户。更多信息,参考 创建用户。
-
部署模式
本文采用三副本部署模式,推荐使用四台机器。其中:
-
使用一台机器部署 ODP。
-
使用三台机器部署 OceanBase 集群。
说明
-
在生产环境下,推荐将 ODP 和应用部署在一台机器上,以节省应用访问 ODP 的时间。 您可以在每个应用的服务器上部署一个 ODP 服务。在本例中,为了更方便使用,将 ODP 单独部署。
-
部署 ODP 的机器使用的配置可以和部署 OceanBase 数据库的机器配置不一致。部署 ODP 只需 4c/16g ~ 8c/64g 内存即可。
下载安装包
如您的机器可以访问公网,并能够添加三方 YUM 软件源,您可以执行以下命令,使用 OceanBase 的官方软件源安装 OBD:
yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo
yum install -y ob-deploy
注意
只有 Anolis、CentOS 和 RedHat 操作系统支持此操作。
在您执行了 obd cluster deploy 命令之后,OBD 将检查您的目标机器是否有 OceanBase 数据库安装包。如果没有安装包,OBD 将自动从 yum 源获取。
如果您的机器不能访问公网,您可以从 OceanBase 官网下载安装包。详细信息,参考 安装包下载说明。
安装 OBD
说明
您只需要在中控机器上安装 OBD。
在线安装 OBD
如您的机器可以访问公网,并能够添加三方 YUM 软件源,您可以执行以下命令,使用 OceanBase 的官方软件源安装 OBD:
yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo
yum install -y ob-deploy
离线安装 OBD
如果您的机器不能访问公网,您可以从 OceanBase 官网下载 OBD。详细信息,参考 安装包下载说明。下载完成后,将 OBD 复制到您的中控机器上。
在 CentOS 或 RedHat 系统上,执行以下命令安装 OBD:
yum install ob-deploy-1.1.0-1.el7.x86_64.rpm
在 Ubuntu 或 Debian 系统上,执行以下命令安装 OBD:
alien --scripts -i ob-deploy-1.1.0-1.el7.x86_64.rpm
安装 OBLibs
说明
您需要在每台目标机器上安装 OBLibs。
在线安装 OBLibs
执行以下命令,在线安装 OBLibs:
yum install -y oceanbase-ce-libs
离线安装 OBLibs
如果您的机器不能访问公网,您可以从 OceanBase 官网下载 OBLibs。详细信息,参考 安装包下载说明。下载完成后,将 OBLibs 复制到您的每台机器上。
在 Anolis 7、CentOS 7 或 RedHat 7 系统上,执行以下命令安装 OBLibs:
yum install oceanbase-ce-libs-3.1.0-3.el7.x86_64.rpm
在 Ubuntu 或 Debian 9 系统上,执行以下命令安装 OBLibs:
alien -i oceanbase-ce-libs-3.1.0-3.el7.x86_64.rpm
在 Anolis 8、CentOS 8 或 RedHat 8 系统上,执行以下命令安装 OBLibs:
yum install oceanbase-ce-libs-3.1.0-3.el8.x86_64.rpm
在 Debian 10 系统上,执行以下命令安装 OBLibs:
alien -i oceanbase-ce-libs-3.1.0-3.el8.x86_64.rpm
安装 OBClient
您只需要在中控机器上安装 OBClient。 注意
您必须首先下载 OBClient 的依赖包 LibOBClient。详细信息,参考 安装包下载说明。
在线安装 OBClient
执行以下命令,在线安装 OBLibs:
yum install -y libobclient
yum install -y obclient
离线安装 OBClient
如果您的机器不能访问公网,您可以从 OceanBase 官网下载 OBClient。详细信息,参考 安装包下载说明。下载完成后,将 OBClient 复制到您的中控机器上。
在 CentOS 或 RedHat 系统上,执行以下命令安装 OBClient:
yum install libobclient-2.0.0-2.el7.x86_64.rpm
yum install obclient-2.0.0-2.el7.x86_64.rpm
在 Ubuntu 或 Debian 系统上,执行以下命令安装 OBLibs:
alien --scripts -i libobclient-2.0.0-2.el7.x86_64.rpm
alien --scripts -i obclient-2.0.0-2.el7.x86_64.rpm
安装 OceanBase 数据库和 ODP
安装 OceanBase 数据库和 ODP之前,为了数据安全,建议您切换到非 root 用户。如果离线安装 OceanBase 数据库和 ODP,从 OceanBase 官网下载 OceanBase 数据库、OBLibs 和 ODP。详细信息,参考 安装包下载说明。下载完成后,将 OceanBase 数据库和 ODP 复制到您的中控机器上。如果在线安装,跳过步骤 1~3。
跳转至上述安装包的下载目录,按照以下步骤安装 OceanBase 数据库和 ODP:
-
删除远程仓库
rm -fr ~/.obd/mirror/remote/*.repo离线安装时,您需要删除远程仓库。 注意
如果您是在线安装,并且您的操作系统是 Anolis、CentOS 或 RedHat,跳过此步骤。
-
将安装包添加至本地镜像
obd mirror clone *.rpm -
查看镜像列表
obd mirror list local -
下载配置文件
从 GitHub 上下载对应的配置文件。根据您的实际情况选择相应的配置文件:
-
如果您采用单机安装,即中控机器和目标机器不是同一台机器,且目标机器只有一台,请下载 单机安装配置文件。
-
如果您采用分布式安装,即中控机器和目标机器不是同一台机器,且目标机器有多台,请下载 分布式安装配置文件。
示例采用自动部署配置文件。自动部署将根据简易配置和目标机器资源生成最大规格配置并启动 OceanBase 数据库。非自动部署 OceanBase 数据库,参考 OBD 文档。OceanBase 数据库详细参数介绍,参考 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_diroceanbase-ce: servers: - name: z1 # Please don't use hostname, only IP can be supported ip: 172.30.62.200 - name: z2 ip: 172.30.62.201 - name: z3 ip: 172.30.62.202 global: # 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: servers: - 172.30.62.203 global: # The working directory for obproxy. Obproxy is started under this directory. This is a required field. home_path: /home/admin/oceanbase您可以使用在线 YAML 文件校验器对您的配置文件进行检测。详细信息,参考 YAML 在线校验器。
-
部署 OceanBae 集群
按照以下步骤部署 OceanBase 集群:
-
部署 OceanBae 集群
obd cluster autodeploy obtest -c distributed-with-obproxy-example.yaml -
查看 OceanBae 集群
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
(可选)安装 MySQL 开发包
如果需要运行 Sysbench 或者 TPCH 等程序, 您需要安装 MySQL 开发包。
在 CentOS、RedHat 或 Anolis 系统上,执行以下命令安装 MySQL 开发包:
yum install mariadb
yum install mariadb-libs
yum install mariadb-devel
在 Ubuntu 系统上,执行以下命令安装 MySQL 开发包:
apt-get install mariadb-server
在 Debian 系统上,执行以下命令安装 MySQL 开发包:
apt-get install mysql-server mysql-client libmariadbd18 libmariadbd-dev
连接 OceanBase 数据库
运行以下命令,使用 OBClient 客户端连接 OceanBase 数据库:
obclient -h<your_ip> -P<obproxy_port> -uroot
其中,your_ip 为您 OceanBase 实例所在的机器 IP 地址。ODP 默认使用端口 2883 连接 OBClient。如果您对端口做了更改,此处使用您实际的端口号。
创建普通租户
要使用 OceanBase 数据库,您需要创建普通租户。您的业务数据必须在普通租户下运行。
您可以使用以下方法创建普通租户:
-
使用 OBD 创建普通租户。
obd cluster tenant create ${cluster_name} -n ${tenant_name} -
使用 SQL 语句创建普通租户。更多信息,参考 创建用户租户。