GreenPlum-6 最简步骤安装

PostgreSQL 快速安装

参考文档:https://ubuntu.com/server/docs/databases-postgresql

# 安装
apt install -y postgresql

# 监听所有地址
sed -i 's/#listen_addresses = \'localhost\'/listen_addresses = \'*\'/g' /etc/postgresql/12/main/postgresql.conf

# 修改密码
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'postgres';"

# 允许外部访问
echo 'host all all 0.0.0.0/0 md5' >> /etc/postgresql/12/main/pg_hba.conf

# 重启数据库
systemctl restart postgresql



GreenPlum 简介

概述

参考文档:GreenPlum 架构介绍
在这里插入图片描述

组成

GreenPlum 由三部分组成:

  • Master
    • 访问系统的入口
    • 数据库监听进程
    • 处理所有用户连接
    • 建立查询计划
    • 协调工作处理过程
    • 管理工具
    • 系统目录表和元数据
    • 不存放任何用户数据
  • Segment
    • 每段存放一部分用户数据
    • 一个系统可以有多段
    • 用户不能直接存取访问
    • 所有对段的访问都经过 Master
    • 数据库监听进程监听来自 Master 的连接
  • Interconnect
    • 数据库之间的连接层
    • 进程间协调和管理
    • 基于千兆以太网架构
    • 属于系统内部死亡配置
    • 支持两种 TCP 和 UDP 协议

总结

直接把 Master 当成一个 PostgreSQL 数据库来使用。



GreenPlum 集群搭建

注意事项

  • 官网文档的安装教程并不是太 Quick Start,实际上那些一大堆调优参数并不是必须选项,安装并没有什么影响,顶多会有一个 Master open file limit is 1024 should be >= 65535 的警告。
    sudo cat >> /etc/security/limits.conf << EOF
    * softnofile 65535
    * hardnofile 65535
    * softnproc  65535
    * hardnproc  65535
    EOF
    
    reboot
    
    ulimit -n
    
  • 官网文档看似很多命令和配置文件,实际上大部分都只是为了更方便操作多个节点,只有初始化时才使用到了配置文件。
  • 官网文档中 mdw 表示 Master 主机、smdw 表示 Standby 主机、sdw表示 Segment 主机。
  • 加载了/usr/local/greenplum-db/greenplum_path.shLD_LIBRARY_PATHyum 或者 apt 将无法使用。

集群规划

节点角色
node201Master
node202Standby
node203Segment
node204Segment

虚拟机

# IP
sed -i 's/192.168.137.7/192.168.137.201/g' /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network

# hostname
hostnamectl set-hostname node1

# 换源
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.ustc.edu.cn/centos|g' \
    -i.bak \
    /etc/yum.repos.d/CentOS-Base.repo
sudo yum makecache

# 卸载 MariaDB
rpm -e --nodeps $(rpm -qa | grep mariadb)

# 禁用 SELINUX
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

# 禁用防火墙
systemctl stop firewalld && systemctl disable firewalld

# 禁用交换
vim /etc/fstab
# 注释 swap 相关行

# 重启
reboot
# 本地 DNS
cat >> /etc/hosts << EOF
192.168.137.201 node201
192.168.137.202 node202
192.168.137.203 node203
192.168.137.204 node204
EOF

创建gpadmin用户

# 创建用户
useradd -r -m gpadmin

# 更改密码
echo 'gpadmin:gpadmin' | chpasswd

# 加入 sudo 组
usermod -a -G wheel gpadmin

# 切换用户
su -l gpadmin
# SSH 免密登陆
ssh-keygen -t rsa -q -N "" -f ~/.ssh/id_rsa

ssh-copy-id node201
ssh-copy-id node202
ssh-copy-id node203
ssh-copy-id node204

安装

.rpm 包下载地址:https://github.com/greenplum-db/gpdb/releases/tag/6.17.3

# 安装 gp
sudo yum install -y ./open-source-greenplum-db-6.17.3-rhel7-x86_64.rpm
sudo chown -R gpadmin:gpadmin /usr/local/greenplum*
# 环境变量
cat >> ~/.bashrc << EOF
source /usr/local/greenplum-db/greenplum_path.sh
export MASTER_DATA_DIRECTORY=/home/gpadmin/data/master/gpseg-1
EOF
source ~/.bashrc

确认安装

cat > all_host << EOF
node201
node202
node203
node204
EOF
gpssh-exkeys -f all_host
gpssh -f all_host -e 'ls -l /usr/local/greenplum-db'

在这里插入图片描述

创建数据目录

# 创建 master 数据目录
mkdir -p ~/data/master

# 创建 standby 数据目录
gpssh -h node202 -e 'mkdir -p /home/gpadmin/data/master'

# 创建 segment 数据目录
gpssh -h node203 -e 'mkdir -p /home/gpadmin/data/primary && mkdir -p /home/gpadmin/data/mirror'
gpssh -h node204 -e 'mkdir -p /home/gpadmin/data/primary && mkdir -p /home/gpadmin/data/mirror'

批量创建

cat > ~/seg_host << EOF
node203
node204
EOF
gpssh -f ~/seg_host -e 'mkdir -p /home/gpadmin/data/primary && mkdir -p /home/gpadmin/data/mirror'

初始化

# 配置文件
mkdir -p ~/gpconfigs 

cat > ~/gpconfigs/gpinitsystem_seg_host << EOF
node203
node204
EOF

cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config ~/gpconfigs/gpinitsystem_config

vim ~/gpconfigs/gpinitsystem_config
# declare -a DATA_DIRECTORY=(/home/gpadmin/data/primary /home/gpadmin/data/primary)
# MASTER_HOSTNAME=node201
# MASTER_DIRECTORY=/home/gpadmin/data/master
# 初始化
gpinitsystem -c gpconfigs/gpinitsystem_config -h gpconfigs/gpinitsystem_seg_host

# 初始化 standby
gpinitstandby node201

# 查看状态
gpstate

在这里插入图片描述

安装后配置

# 允许外部访问
cat >> $MASTER_DATA_DIRECTORY/pg_hba.conf << EOF
host  all  all  0.0.0.0/0  md5
EOF

# 重启
gpstop -u
# 修改密码
psql -d postgres -c "ALTER ROLE gpadmin WITH PASSWORD 'gpadmin';"
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值