搭建Cloudberry Database集群
基础环境规划
组件 | CPU | 内存 | 主机名 | IP地址 | 备注 |
---|---|---|---|---|---|
Coordinator | 4核 | 8GB | openEuler-cbdb-coordinator | 192.168.192.201 | Coordinator |
Segment | 4核 | 8GB | openEuler-cbdb-segment | 192.168.192.202 | Segment |
ETCD | 2核 | 4GB | openEuler-cbdb-etcd | 192.168.192.203 | ETCD 服务组件:用于统一存放和维护数据库集群状态元数据信息,ETCD 集群由服务自身机制保障高可用性,任意节点宕机或异常都不会影响 ETCD 服务及数据库功能正常运行。 |
FTS | 2核 | 4GB | openEuler-cbdb-fts | 192.168.192.204 | FTS 高可用服务:独立于 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*