跳到主要内容

搭建Cloudberry Database集群

基础环境规划

组件CPU内存主机名IP地址备注
Coordinator4核8GBopenEuler-cbdb-coordinator192.168.192.201Coordinator
Segment4核8GBopenEuler-cbdb-segment192.168.192.202Segment
ETCD2核4GBopenEuler-cbdb-etcd192.168.192.203ETCD 服务组件:用于统一存放和维护数据库集群状态元数据信息,ETCD 集群由服务自身机制保障高可用性,任意节点宕机或异常都不会影响 ETCD 服务及数据库功能正常运行。
FTS2核4GBopenEuler-cbdb-fts192.168.192.204FTS 高可用服务:独立于 Master 节点,通过集群方式部署。FTS 集群只有一个工作节点,其余节点均为热备节点。当 FTS 主节点出现异常后服务可实现自动切换到热备节点,该机制用于保障任何数据库节点宕机或异常不会影响 FTS 高可用及数据库功能正常运行。

环境配置

更新最新包

sudo yum update -y

根据规划设置主机名

# 在192.168.192.201执行
sudo hostnamectl set-hostname openEuler-cbdb-coordinator
# 在192.168.192.202执行
sudo hostnamectl set-hostname openEuler-cbdb-segment
# 在192.168.192.203执行
sudo hostnamectl set-hostname openEuler-cbdb-etcd
# 在192.168.192.204执行
sudo hostnamectl set-hostname openEuler-cbdb-fts

SSH配置

# 监听端口
#sed -i '/Port/ a Port 22' /etc/ssh/sshd_config
# 允许密码登陆。集群初始化后可以变更。
#sed -i '/PasswordAuthentication/ a PasswordAuthentication yes' /etc/ssh/sshd_config
# 禁止空密码登陆。
sed -i '/PermitEmptyPasswords/ a PermitEmptyPasswords no' /etc/ssh/sshd_config
#不使用 DNS。
sed -i '/UseDNS/ a UseDNS no' /etc/ssh/sshd_config

#重启ssh服务
systemctl restart sshd

新增 gpadmin 管理用户

创建用户组和用户名 gpadmin,将用户组和用户名的标识号设为 520,创建并指定主目录 /home/gpadmin/。

groupadd -g 520 gpadmin  # 添加用户组 gpadmin
useradd -g 520 -u 520 -m -d /home/gpadmin/ -s /bin/bash gpadmin # 添加用户名 gpadmin 并创建主目录。
passwd gpadmin # 为 gpadmin 设置密码,执行后,按照提示输出密码。

禁用 SELinux

使用vim编辑vim /etc/selinux/config

SELINUX=disabled

禁用防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

修改网络映射

cat <<EOF | sudo tee /etc/hosts
192.168.192.201 openEuler-cbdb-coordinator
192.168.192.202 openEuler-cbdb-segment
192.168.192.203 openEuler-cbdb-etcd
192.168.192.204 openEuler-cbdb-fts

10.123.123.201 openEuler-cbdb-coordinator
10.123.123.202 openEuler-cbdb-segment
10.123.123.203 openEuler-cbdb-etcd
10.123.123.204 openEuler-cbdb-fts
EOF

安装 RPM 包

Github:https://github.com/apache/cloudberry/releases

下载 Cloudberry Database 的 RPM 安装包至 gpadmin 主目录 /home/gpadmin/:

wget -P /home/gpadmin https://github.com/apache/cloudberry/releases/download/1.6.0/cloudberry-db-1.6.0-1.el9.x86_64.rpm --no-check-certificate
wget -P /home/gpadmin https://github.com/apache/cloudberry/releases/download/1.6.0/cloudberry-hll-2.18.0-1.el9.x86_64.rpm --no-check-certificate
wget -P /home/gpadmin https://github.com/apache/cloudberry/releases/download/1.6.0/cloudberry-pgvector-0.7.4-1.el9.x86_64.rpm --no-check-certificate
wget -P /home/gpadmin https://github.com/apache/cloudberry/releases/download/1.6.0/cloudberry-pxf-1.6.0-1.el9.x86_64.rpm --no-check-certificate


wget -P /home/gpadmin https://ghproxy.cc/https://github.com/apache/cloudberry/releases/download/1.6.0/cloudberry-db-1.6.0-1.el9.x86_64.rpm
wget -P /home/gpadmin https://ghproxy.cc/https://github.com/apache/cloudberry/releases/download/1.6.0/cloudberry-hll-2.18.0-1.el9.x86_64.rpm
wget -P /home/gpadmin https://ghproxy.cc/https://github.com/apache/cloudberry/releases/download/1.6.0/cloudberry-pgvector-0.7.4-1.el9.x86_64.rpm
wget -P /home/gpadmin https://ghproxy.cc/https://github.com/apache/cloudberry/releases/download/1.6.0/cloudberry-pxf-1.6.0-1.el9.x86_64.rpm

在 /home/gpadmin 目录下安装 RPM 包。

执行以下命令时,你需要将 <RPM 安装包路径> 替换为实际的安装包路径,并使用 root 用户执行。安装时,会自动创建默认安装目录 /usr/local/cloudberry-db/。

cd /home/gpadmin
#yum install <RPM 安装包路径>
wget -P /home/gpadmin https://ftp.gnu.org/gnu/glibc/glibc-2.34.tar.gz
tar -zxvf glibc-2.34.tar.gz
cd /home/gpadmin/glibc-2.34
mkdir build
cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin



rpm -ivh cloudberry-db-1.6.0-1.el9.x86_64.rpm
yum install cloudberry-hll-2.18.0-1.el9.x86_64.rpm
yum install cloudberry-pgvector-0.7.4-1.el9.x86_64.rpm
yum install cloudberry-pxf-1.6.0-1.el9.x86_64.rpm

为 gpadmin 用户授予安装目录的权限:

chown -R gpadmin:gpadmin /usr/local
chown -R gpadmin:gpadmin /usr/local/cloudberry*