Postgres-XL集群部署
服务器硬件概览
台数: 2台
系统: Ubuntu 16.04
cpu: Intel® Xeon® CPU E5-2630 v4 @ 2.20GHz
内存: 64G内存
硬盘: 2TB
软件及版本说明
Postgres-xl 10R1版:postgres-xl-10r1.tar.gz
Postgres-xl 下载地址:https://www.postgres-xl.org/
Postgres-XL集群结构
部署过程
一、系统配置准备
1.1 修改计算机名称
这里将初始的计算机名分别修改为了qcserver1和qcserver2
1.2 禁用系统防火墙
【注意】
- sudo ufw disable命令并不一定会生效,重启后需要检查防火墙状态
- 如果是在redhat系统下配置,防火墙名称应该为ipatables或者firewall
1.3 禁用系统SeLinux
Selinux 并不一定会默认安装在系统之中,如果安装了则需要修改配置文件/etc/selinux/config ,将其中SELINUX=enforcing改为SELINUX=disabled
【注意】
- 修改后需要重启服务器来使修改生效,这是唯一一次需要重启服务器的操作。
1.4 配置域名地址映射
在/etc/hosts 文件中添加地址映射
【注意】
- 地址映射的格式,是“IP 计算机名” 即可,本图中是为了部署其他软件才如此设置。
二、用户操作及准备
2.1 在两台服务器中分别添加postgres用户及用户组,并初始化密码
2.2 配置postgres免密登录
切换到postgres用户,依次执行一下命令:
cd ~/ #切换到用户根目录(/home/postgres)
mkdir .ssh/ #创建SSH认证文件夹
chmod 700 ~/.ssh/ #权限必设,否则会造成配置完无密登录后执行ssh 仍需输入密码的问题
cd .ssh/ #切换至.ssh文件夹
ssh-keygen –t rsa #用 rsa 生成秘钥, 一路回车
cp id_rsa.pub authorized_keys #把公钥复制一份,并改名为 authorized_keys
在qcserver2中也执行以上操作,并将qcserver1中生成的authorized_keys拷贝至qcserver2同样的目录下,既可以实现 postgres用户无密登录两台服务器:
scp ./authorized_keys postgres@qcserver2:/home/postgres/.ssh/
三、依赖软件安装
由于官网下载的postgres-xl-10r1.tar.gz需要本地编译,所以需要安装一些用于编译的软件包: make、flex、bison、libreadline-dev、zlib1g-dev、openjade、docbook-style-dsssl、gcc。执行:
aptitude install make flex bison libreadline-dev zlib1g-dev openjade docbook-style-dsssl
【注意】
- redhat和Ubuntu中部分软件包名字不同,在Redhat中libreadline-dev名字为readline-devel,zlib1g-dev名字为zlib-devel。*
- ubuntu下推荐使用aptitude,redhat下推荐使用yum*
安装完成后,可以执行以下命令来查看所需要的依赖包是