Postgresql -XL 10r.1.1安装部署详解(跳过N多坑)

目前安装postgre10r1.1的文档较少,本人目前是在三台虚拟机上搭建的postgre xl 10r1.1集群,之后将postgres -xl 10r1.1集群简述为pgxl10,三台虚拟机的操作系统均为CentOS7,不懂安装的小伙伴可以参照我另一篇博客

安装部署前需要注意的问题

  • pgxl10是一个典型的分布式磁盘数据库,所以它对磁盘的读写速度要求是较高的,我用的是机械磁盘,读写速率峰值在150MB/s,如果你有SSD则更好,可以更好的搭建集群,因为我部署的时候经常出现磁盘占用率达到100% 的情况,严重的时候直接卡死,只能强制重启,甚至虚拟机也崩溃。

主机划分

192.168.174.128 gtm gtm 20001
192.168.174.129 datanode1 gtm-proxy1 20001 coordinator1 20004 20010 datanode1 20008 20012
192.168.174.129 datanode2 gtm-proxy1 20001 coordinator2 20004 20010 datanode2 20009 20013
注:目前是分配了现在的节点,之后可以进行水平扩展,这方面的工作会进行深入研究,还有目前的端口号是自动生成的配置文件中默认的,可以根据自己的需要进行更改。

所有机器修改/etc/hosts

所有机器关闭防火墙

  • 首先在root下关闭防火墙

  • 查看防火墙状态

  • 关闭防火墙

  • 禁止开机启动

关闭selinux

安装依赖包

yum install -y flex bison readline-devel zlib-devel openjade docbook-style-dsssl git gcc

所有节点都要建立postgres组和用户

[root@gtm~]#groupadd postgres

[root@gtm ~]#useradd -m -d /home/postgres postgres -g postgres

[root@gtm~]#passwd postgres

  • 注:输入密码的时候不要care出现的问题,连续输入两次密码即可(自己设置的密码,牢记!!!)

配置免密码登陆(仅在gtm节点进行配置)

注:这是为了方便以后的登陆和等下初始化集群,不然就需要输入很多次密码,小编没配置这个造成了很大的困扰

[root@gtm ~]# su - postgres
[postgres@gtm ~]# mkdir ~/.ssh
[postgres@gtm ~]# chmod 700 ~/.ssh
[postgres@gtm ~]# ssh-keygen -t rsa
[postgres@gtm ~]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[postgres@gtm ~]# chmod 600 ~/.ssh/authorized_keys

注:将生成的认证文件拷贝到datanode1和datanode2中

[postgres@gtm ~]# scp ~/.ssh/authorized_keys postgres@datanode1:~/.ssh/
[postgres@gtm ~]# scp ~/.ssh/authorized_keys postgres@datanode2:~/.ssh/

再次关闭防火墙(所有节点都要做)

注:这是小编遇到的坑之一,切换到postgres用户下,发现防火墙依然是开着的,需要再次关闭防火墙

[postgres@gtm ~]# systemctl stop firewalld.service

下载源码

下载地址:
https://www.postgres-xl.org/

注:小编下载的是 postgres-xl-10r1.1.tar.gz,上传到三台机器上

解压、编译、安装psql10(所有机器都要做)

[root@gtm~]# mkdir /data

[root@gtm~]# cd /data

[root@gtm data]# ls
postgres-xl-10r1.1.tar.gz
[root@gtm data]# tar xvf postgres-xl-10r1.1.tar.gz

解压后

[root@gtm data]# ls
postgres-xl-10r1.1 postgres-xl-10r1.1.tar.gz

[root@gtm data]# chown -R postgres:postgres postgres-xl-10r1.1

[root@gtm data]# su - postgres

编译安装
[postgres@gtm ~]$ cd /data/postgres-xl-10r1.1/

[postgres@gtm postgres-xl-10r1.1]$ mkdir -p /home/postgres/pgxl10

[postgres@gtm postgres-xl-10r1.1]$
./configure --prefix=/home/postgres/pgxl10

[postgres@gtm postgres-xl-10r1.1]$make

[postgres@gtm postgres-xl-10r1.1]$make install

[postgres@gtm postgres-xl-10r1.1]$cd contrib/

[postgres@gtm postgres-xl-10r1.1]$make

[postgres@gtm postgres-xl-10r1.1]$make install

配置基础环境变量

[postgres@gtm ~]$ vim .bashrc
export PGHOME=/home/postgres/pgxl10
export LD_LIBRARY_PATH=$ PGHOME/lib:$ LD_LIBRARY_PATH
export PATH=$ PGHOME/bin:$ PATH

[postgres@gtm ~]$ source .bashrc

[postgres@gtm ~]$ echo $PGHOME
/home/postgres/pgxl10

集群配置(gtm发起即可)

$ pgxc_ctl
PGXC prepare
PGXC exit

  • 修改pgxc_ctl.conf文件
注:这个文件是非常容易出错的,按照小编的进行改写,改写的部分一般是节点数量和IP相关








修改/home/postgres/pgxl10/share/og_hba.conf.sample文件(所有机器都要做)

集群初始化(gtm)

[postgres@gtm ~]$ pgxc_ctl -c /home/postgres/pgxc_ctl/pgxc_ctl.conf init all
/bin/bash

Done.

查看所有节点的状态

[postgres@gtm ~]$ pgxc_ctl monitor all

/bin/bash
Installing pgxc_ctl_bash script as /home/postgres/pgxc_ctl/pgxc_ctl_bash.
Installing pgxc_ctl_bash script as /home/postgres/pgxc_ctl/pgxc_ctl_bash.
Reading configuration using /home/postgres/pgxc_ctl/pgxc_ctl_bash --home /home/postgres/pgxc_ctl --configuration /home/postgres/pgxc_ctl/pgxc_ctl.conf
Finished reading configuration.
******** PGXC_CTL START ***************

Current directory: /home/postgres/pgxc_ctl
Running: gtm master
Running: gtm proxy gtm_pxy1
Running: gtm proxy gtm_pxy2
Running: coordinator master coord1
Running: coordinator master coord2
Running: datanode master datanode1
Running: datanode master datanode2

启动、停止集群


Postgresql -XL 10r.1.1安装部署详解(跳过N多坑)相关推荐

  1. (03)_k8s之flannel三种模型安装部署详解

    flannel三种模型安装部署详解 yht_1990关注[2020-10-04 12:13:47](javascript:

  2. kafka安装部署详解

    kafka安装部署详解 1. zookeeper安装部署 1.1 zookeeper下载 1.2 zookeeper配置启动 1.3 zookeeper验证 2. kafka安装部署 2.1 kafk ...

  3. Ansible简单介绍及安装部署详解

    ansible简单介绍 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置. ...

  4. Destoon源数据库配置文件在哪_数据库监控软件Lepus安装部署详解

    Lepus安装部署 一.软件介绍 Lepus是一套开源的数据库监控平台,目前已经支持MySQL.Oracle.SQLServer.MongoDB.Redis等数据库的基本监控和告警(MySQL已经支持 ...

  5. gunicorn 安装部署详解

    Gunicorn是一个unix上被广泛使用的高性能的Python WSGI UNIX HTTP Server. 和大多数的web框架兼容,并具有实现简单,轻量级,高性能等特点. gunicorn 安装 ...

  6. 用友NC57安装部署详解篇

    环境描述: (1)操作系统(OS):Windows Server 2008 Enterprise  64bit (2)数据库:Oracle 11g  64bit (3)ERP :用友NC V5.7 一 ...

  7. lepus安装部署详解

    lepus安装 一.lepus简介 二.部署xampp 三.安装Python基础模块 四.安装Lepus采集器 五.安装WEB管理台 六.添加MySQL被监控服务器 七.lepus的相关使用命令 一. ...

  8. 最新dnsmasq安装部署详解(centos6)

    介绍Dnsmasq Dnsmasq是一个很实用的小工具,解决局域网的需求看来非常合适,特别是网关和防火墙上. 它同时也可以作为一个dns查询服务器,虽然不如bind等完善,但基本功能也够用了. 它可以 ...

  9. xwiki部署_Xwiki安装部署详解

    一.Xwiki简介 XWiki是一个由Java编写的基于LGPL协议发布的开源wiki和应用平台.XWiki是一款基于java所编写的wiki,它可以运行在如Tomcat,Jetty,JBoss,We ...

最新文章

  1. PMWiki安装教程
  2. java se 动态添加视图组件_博为峰Java技术题 ——JavaSE Java Swing在顶层容器中添加菜单栏Ⅰ...
  3. 使用WebClient 获得网页内容或提交请求
  4. gradle中的build script详解
  5. linux的lsof命令详解
  6. 刚认识女孩说不要浪费时间_不要浪费时间寻找学习数据科学的最佳方法
  7. [存档]xx-09210xxx-2010-ACM-ICPC竞赛总结
  8. 帝国cms内容页调用php,帝国CMS内容页调用上一篇与下一篇方法汇总
  9. 2012年之前Mac Book pro 安装新系统macOS 10.15 Catalina 制作U盘启动盘
  10. java商城系统设计——秒杀
  11. 拉杆音响电池升压芯片4.2V转12V2.5A大功率升压芯片
  12. 【SPSS】SPSS之相关系数矩阵(Pearson)
  13. 团队协同办公管理工具横向对比:Worktile VS Teambition VS Tita VS Tapd
  14. 人工智能实战第三次作业 焦宇恒
  15. 利用VBA批量发送Excel中工资单邮件
  16. 全网变灰白,网站变黑白,网站首页变灰白,黑白
  17. 哈勃发现史上最遥远单颗恒星 距离地球129亿光年
  18. moment.js 的方法总结
  19. 笔记1 标识符与基本数据类型
  20. 原假设“截距为0”双侧检验P值是多少_参数假设检验

热门文章

  1. ssm+微信小程序基于微信小程序的社区老人健康管理服务系统的设计与实现毕业设计源码011513
  2. linux crontab 计划任务编写
  3. php 无法获取远程图片,本地连接受限制或无法连接 用php获取远程图片并把它保存到本地的代码...
  4. virtuoso从电路图导入版图_基于Virtuoso的集成电路版图设计.docx
  5. 开始的开始,只要有风,云中的马就可以自由的奔驰
  6. python常用代码大全-Python常用库大全
  7. 两万多字长文:人工智能新趋势(CB Insights)
  8. 医学自然语言处理(NLP)相关论文汇总之 EMNLP 2021
  9. 众创新企业落地物联网,物联网助阵台湾科技产业升级
  10. 图书馆管理系统代码源码(php+css+js+mysql) 完整的代码源码