GaussDB T 主备集群 docker镜像制作
时间: 2023-11-25 18:54:46 浏览: 87
Docker制作镜像包
1. 下载GaussDB T安装包
首先需要下载GaussDB T的安装包,可以从官网下载或者从镜像站点获取。
2. 准备Dockerfile文件
创建一个名为Dockerfile的文件,并将以下内容粘贴到该文件中:
```
FROM centos:7
# 设置环境变量
ENV GAUSSHOME=/gaussdb
ENV PATH=$PATH:$GAUSSHOME/bin
# 添加GaussDB T安装包
ADD gaussdb-t-2.0.1-linux.tar.gz /tmp/
# 安装必要的软件包
RUN yum -y install which net-tools
# 创建目录
RUN mkdir -p $GAUSSHOME
# 安装GaussDB T
RUN cd /tmp/gaussdb-t-2.0.1-linux && ./install_gs.sh -U gaussdb -G gaussdb -D $GAUSSHOME -X
# 清理临时文件
RUN rm -rf /tmp/gaussdb-t-2.0.1-linux
# 复制配置文件
COPY pg_hba.conf $GAUSSHOME/data/
COPY postgresql.conf $GAUSSHOME/data/
# 暴露端口
EXPOSE 5432
# 启动GaussDB T
CMD ["su", "-", "gaussdb", "-c", "$GAUSSHOME/bin/gs_ctl start -D $GAUSSHOME/data -M primary"]
```
3. 准备配置文件
创建一个名为pg_hba.conf和postgresql.conf的文件,并将以下内容粘贴到这些文件中:
pg_hba.conf:
```
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
```
postgresql.conf:
```
listen_addresses = '*'
port = 5432
max_connections = 1000
shared_buffers = 1GB
work_mem = 64MB
maintenance_work_mem = 256MB
effective_cache_size = 4GB
wal_level = replica
max_wal_senders = 10
wal_keep_segments = 32
hot_standby = on
```
4. 构建Docker镜像
在包含Dockerfile和配置文件的目录中,使用以下命令构建Docker镜像:
```
docker build -t gaussdb-t:latest .
```
5. 运行主备集群
使用以下命令启动主备集群:
```
docker run -d --name gaussdb-t-primary -p 5432:5432 gaussdb-t:latest
docker run -d --name gaussdb-t-standby gaussdb-t:latest
```
6. 配置主备同步
首先需要在主节点上创建一个复制用户,并在备节点上创建一个还原用户。然后,在主节点上执行以下命令:
```
gs_guc set -D $GAUSSHOME/data/ -c "wal_level=replica"
gs_guc set -D $GAUSSHOME/data/ -c "max_wal_senders=10"
gs_guc set -D $GAUSSHOME/data/ -c "wal_keep_segments=32"
```
接下来,在主节点上执行以下命令:
```
gs_ctl stop -D $GAUSSHOME/data -M primary
gs_ctl start -D $GAUSSHOME/data -M standby
```
然后,在备节点上执行以下命令:
```
gs_ctl stop -D $GAUSSHOME/data -M primary
gs_ctl start -D $GAUSSHOME/data -M standby
```
7. 测试主备切换
在主节点上执行以下命令:
```
gs_ctl stop -D $GAUSSHOME/data -M primary
```
然后,可以在备节点上执行以下命令:
```
gs_ctl stop -D $GAUSSHOME/data -M standby
gs_ctl start -D $GAUSSHOME/data -M primary
```
现在备节点将变为主节点,主节点将变为备节点。可以使用以下命令检查集群状态:
```
gs_om -t status --detail
```
阅读全文