通过编译源代码,您可以自定义 ODP 的编译,并测试其最新特性。本文介绍如何通过编译源代码安装 ODP。
在编译 ODP 之前,确保您的机器满足以下要求:
-
操作系统:CentOS 7/8 (x86 架构)
-
机器数量:1 台
-
最低硬件规格:
-
CPU:2 C Intel(R) Xeon(R) CPU E5-2630 @ 2.30 GHz
-
内存:4G
-
存储:剩余容量大于 5G 的机械硬盘
-
-
推荐硬件规格:
- CPU:8 C Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50 GHz
- 内存:16G
- 存储:剩余容量大于 5G 的 SSD 或 tmpfs
运行以下命令,克隆 ODP 源代码到您的机器:
git clone git@github.com:oceanbase/obproxy
注意 克隆代码需要先安装配置 Git。详细信息请参考 Git 文档。
大多数编译依赖由 OceanBase 数据库的官方 yum 源提供。在获取编译依赖之前,运行以下命令,确认您的机器可以访问 OceanBase 数据库的 yum 源。
curl http://mirrors.aliyun.com/oceanbase/OceanBase.repo
您可以通过以下方式获取编译依赖:
-
运行以下命令,安装全局依赖:
yum install wget rpm* cpio make glibc-devel glibc-headers
-
运行以下命令,安装本地依赖:
sh build.sh init
注意 本地安装依赖需要使用 wget、rpm2cpio 和 cpio。
-
编译依赖
您也可以在
deps/3rd
目录下自行编译依赖。编译依赖软件要求见下表:所需软件 推荐版本(最低版本) 软件用途 提供依赖 必选 make 3.8.2 编译工具 否 是 gcc 5.2.0 编译工具 是 是 binutils 2.30 编译工具 是 否 automake 1.15.0 编译工具 否 是 autoconf 2.69 编译工具 否 是 libtool 2.4.2 编译工具 否 是 flex 2.5.35 代码生成 是 仅开发 python2 2.7(2.6) 代码生成 否 仅开发 bison 2.4.1 代码生成 是 仅开发 openssl-static 1.0.1e 编译依赖 是 是 libcurl 7.29.0 编译依赖 是 是 mariadb-connector-c 3.1.12 编译依赖 是 是 prometheus-cpp 0.8.0 编译依赖 是 是 gtest 1.8.0 编译依赖 是 是 grpc 1.20.1 编译依赖 是 是 oceanbase-ce-sql-parser 3.1.0 编译依赖 是 是 glibc-devel/glibc-headers 2.17 编译依赖 否 是 rpm* 4.14.1(4.11) 打包工具 否 仅打包
ODP 使用 Automake 构建,您可以直接使用 Automake 命令自行创建目录进行构建,也可以使用 build.sh
脚本快速编译。根据您的实际需要选择编译方式:
-
DEBUG 编译
sh build.sh init sh build.sh config debug sh build.sh make
-
RELEASE 编译
sh build.sh init sh build.sh config sh build.sh make
-
(可选)创建 RPM 包
sh build.sh rpm
注意 创建 RPM 包需要安装 rpm 和 rpm-build 工具。
您在成功编译 ODP 之后,可以使用 OBD 部署 ODP。详细信息请参考 OBD 文档。