胖头鱼的鱼缸

OpenTenBase 5.0部署V3

数据库管理-第388期 (20251111)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database
PostgreSQL ACE
OpenTenBase ACE

10年数据库行业经验
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP,ITPUB认证专家
圈内拥有“总监”称号,非著名社恐(社交恐怖分子)

公众号:胖头鱼的鱼缸
CSDN:胖头鱼的鱼缸(尹海文)
墨天轮:胖头鱼的鱼缸
ITPUB:yhw1809
IFClub:胖头鱼的鱼缸
除授权转载并标明出处外,均为“非法”抄袭

914fcc7ad57defa7868c3be1ca7fb4f5.jpg
在上周,我在OpenTenbase上经历过:

在上一篇OpenTenbase的文章中,提到过,在OpenTenbase 5.0中增加了opentenbase_ctl工具来快速部署,本期使用这种方法来看看部署到底简化了多少。

1 准备软件

本节操作大部分仅需在otb01节点执行。

1.1 创建安装目录

su - opentenbase
mkdir /data/opentenbase/install

1.2 复制软件包

cp ~/opentenbase-5.21.8-i.x86_64.tar.gz /data/opentenbase/install/
#这里的压缩包是官方获取的针对CentOS/RHEL 8系统的,也可通过编译方式生成安装目录,生成同名的压缩文件

1.3 下载opentenbase_ctl

cd /data/opentenbase
wget https://opentenbase-1302252972.cos.ap-nanjing.myqcloud.com/opentenbase_ctl
chmod +x opentenbase_ctl

1.4 配置参数文件:

cat > /data/opentenbase/postgres.conf <<EOF 
listen_addresses = '0.0.0.0'
max_connections = 2000
max_pool_size = 65535
shared_buffers = 2GB                    
max_prepared_transactions = 2000
maintenance_work_mem = 512MB
wal_level = logical
max_wal_senders = 64
max_wal_size = 1GB
min_wal_size = 256MB
log_destination = 'csvlog'
logging_collector = on
log_directory = 'log'
log_filename = 'postgresql-%A-%H.log' 
synchronous_commit = local
synchronous_standby_names = ''
EOF

附加

所有节点配置sudo:

cat >> /etc/sudoers <<EOF
opentenbase     ALL=(ALL)       NOPASSWD: ALL
EOF

所有节点安装sshpass:

dnf -y install sshpass

2 部署数据库

2.1 (该部分修改后未删除,请忽略)

cat >> ~/.bash_profile <<EOF
export INSTALL_PATH=/data/opentenbase/install/
export PG_HOME=\$INSTALL_PATH/opentenbase_bin_v5.0
export PATH=\$PATH:\$PG_HOME/bin
export LD_LIBRARY_PATH=/lib:/var/lib:/usr/lib:/usr/lib64:\$PG_HOME/lib
EOF

2.1 编辑配置文件

cd /data/opentenbase
cat > opentenbase_config.ini <<EOF
# 实例配置
[instance]
name=opentenbase01
type=distributed
package=/data/opentenbase/install/opentenbase-5.21.8-i.x86_64.tar.gz

# GTM 节点
[gtm]
master=10.10.10.101
slave=10.10.10.102

# 协调器节点
[coordinators]
master=10.10.10.101
slave=10.10.10.102
nodes-per-server=1
conf=/data/opentenbase/postgres.conf

# 数据节点
[datanodes]
master=10.10.10.103,10.10.10.104,10.10.10.105
slave=10.10.10.104,10.10.10.105,10.10.10.103
nodes-per-server=1
conf=/data/opentenbase/postgres.conf

# 登录和部署账户
[server]
ssh-user=opentenbase
ssh-password=opentenbase
ssh-port=22

# 日志配置
[log]
level=DEBUG
EOF


附:配置文件说明
image.png

2.2 部署数据库

./opentenbase_ctl install -c opentenbase_config.ini

image.png
这个部署速度是非常快的。

3 访问数据库

3.1 检查集群

./opentenbase_ctl status
image.png

3.2 访问

根据检查数据库的输出内容,访问数据库:

export LD_LIBRARY_PATH=/data/opentenbase/install/opentenbase/5.21.8/lib  && export PATH=/data/opentenbase/install/opentenbase/5.21.8/bin:${PATH}
psql -h 10.10.10.101 -p 11003 -U opentenbase postgres
image.png

总结

使用opentenbase_ctl部署OpenTenbase 5.0集群的速度是超乎想象的快!
老规矩,知道写了些啥。