实验环境
机器:阿里云ECS实例,2 核(vCPU)8 GiB,Ubuntu 22.04
数量:共使用了4台,其中3台共同构成2CN+3DN的集群节点,另一台作为部署主机,用于编译源码、分发二进制包等。
原因:起初使用阿里云2核4GB服务器,虽然在源码编译时没有出现问题,但是在集群搭建时会报错分配内存失败,因此调整了内存配置为8GB。
一、OpenTenBase源代码编译
1.1 安装依赖
Shell sudo apt-get update sudo apt-get install -y gcc make libreadline-dev zlib1g-dev libssl-dev libossp-uuid-dev bison flex git |
1.2 创建目录、OpenTenBase用户和对应密码
Shell mkdir /data useradd -d /data/opentenbase -s /bin/bash -m opentenbase passwd opentenbase # 设置密码 |

1.3 切换到已经创建的opentenbase用户,从Github下载OpenTenBase源码到本机,再上传到服务器
源码目录为/data/opentenbase/OpenTenBase
1.4 对源码进行编译
声明路径、进入目录、赋予权限
Bash #声明变量SOURCECODE_PATH和INSTALL_PATH export SOURCECODE_PATH=/data/opentenbase/OpenTenBase export INSTALL_PATH=/data/opentenbase/install #进入源码目录 cd ${SOURCECODE_PATH} rm -rf ${INSTALL_PATH}/opentenbase_bin_v2.0 #赋予配置脚本执行权限 chmod +x configure* |
配置编译选项
Bash ./configure --prefix=${INSTALL_PATH}/opentenbase_bin_v2.0 --enable-user-switch --with-openssl --with-ossp-uuid CFLAGS=-g |
执行完毕:

编译安装软件
Bash #编译安装软件 make clean make -sj 4 make install |
执行make -sj 4命令:

执行make install命令:

编译contrib目录下的工具
Bash #赋予执行权限 chmod +x contrib/pgxc_ctl/make_signature #编译contrib目录下的工具 cd contrib make -sj 4 make install |
执行make -sj 4命令结束:

执行make install命令结束:

1.5 检查编译成功
/data/opentenbase/install/opentenbase_bin_v2.0/bin/postgres --version
postgres (PostgreSQL) 10.0 OpenTenBase V2
/data/opentenbase/install/opentenbase_bin_v2.0/bin/psql --version
psql (PostgreSQL) 10.0 OpenTenBase V2