基于 Docker 的 OpenTenBase 开发环境,提供开箱即用的集群和完整的开发工具链。
如果你只想快速体验 OpenTenBase,无需编译,可直接使用以下预配置的集群:
| 分支 | 说明 | 架构 |
|---|---|---|
| example-distributed | 分布式集群 | 1 GTM + 1 CN + 2 DN |
| example-centralized | 集中式实例 | 单节点 |
# 切换到示例分支
git checkout example-distributed # 分布式集群
# 或
git checkout example-centralized # 集中式实例
# 启动集群
./otb-dev.sh build
./otb-dev.sh up
# 连接数据库
./otb-dev.sh enter
psql -h 172.20.0.3 -p 11000 -U opentenbase postgres从源码编译 OpenTenBase:
# 构建并启动(预配置模式)
./otb-dev.sh up
# 进入容器
./otb-dev.sh enter
# 容器内直接编译
make -j$(nproc)
make install在 Docker build 阶段自动执行 configure,可直接尝试编译:
./otb-dev.sh up
./otb-dev.sh enter
make -j$(nproc)
make install不执行 configure,可完整体验手动编译流程:
./otb-dev.sh up base
./otb-dev.sh enter
./configure --prefix=$INSTALL_PATH/opentenbase_bin_v5.0 \
--enable-user-switch \
--with-libxml \
--disable-license \
--with-openssl \
--with-ossp-uuid \
CFLAGS="-g"
make -j$(nproc)
make install本项目提供 Docker 离线安装包下载工具,支持在无网络环境下部署 Docker。`
-
将
docker-offline-packages目录拷贝到目标机器 -
在离线机器上安装:
# Debian/Ubuntu cd docker-offline-packages sudo ./install-deb.sh ./ubuntu-22.04 # CentOS/RHEL sudo ./install-rpm.sh ./centos-7 # 启动 Docker sudo systemctl start docker sudo systemctl enable docker
| 命令 | 说明 |
|---|---|
./otb-dev.sh up |
启动容器(预配置模式) |
./otb-dev.sh up base |
启动容器(基础模式) |
./otb-dev.sh enter |
进入容器 |
./otb-dev.sh build |
构建镜像 |
./otb-dev.sh down |
停止并删除容器 |
./otb-dev.sh status |
查看状态 |
./otb-dev.sh export |
导出镜像 |
| 变量 | 值 |
|---|---|
SOURCECODE_PATH |
/data/opentenbase/OpenTenBase |
INSTALL_PATH |
/data/opentenbase/install |
PG_HOME |
/data/opentenbase/install/opentenbase_bin_v5.0 |
# 导出镜像
./otb-dev.sh export
# 使用 zstd 格式(更快)
./otb-dev.sh export-zstd
# 导入镜像
./otb-dev.sh import# 清理缓存后重建
docker system prune -f
./otb-dev.sh rebuild
# 查看容器日志
./otb-dev.sh logs