《PolarDB for PostgreSQL源码与应用实战》——PolarDB for PostgreSQL 基础入门(3) https://developer.aliyun.com/article/1232839?groupCode=polardbforpg
(六)自定义部署 - 多主机流复制环境部署示例
接下来我们介绍自定义的方式的部署。
这种方式部署就可以自己来定义想要的相关部署参数,生成一个自己想要的集群。下面我们演示的是在多台机器上生成一个流复制的环境,而不是这种Python默认的环境该怎么做。
第一步还是用我们的模板生成跟刚才一样的文件,复用刚才那个也可以,名字我们就叫它streaming,之后我们对streaming文件进行修改。
如果搭建一个两台机器的环境,我们需要分别指定这两台机器的IP,也就是Master节点和流复制的Slave节点的IP地址。另外,这里RepNum需要修改,因为默认是三副本,这里的副本数应该是两个,而我们现在流复制只有一个副本,所以它的改成一个即可。SlaveType默认是3,改成1就可以了。
另外,加一下dePgHba的信息,保证它们之间这两台机器的连通性。改了配置文件以后,我们就用配置文件调用它的init,就可以把整个集群部署起来了。部署起来之后通过monitor这个方法查看一下这套系统的部署情况。另外看一下它的进程情况,再看一下它主备状态的情况。
之后我们看一下,首先把原来那个删掉,要不然可能会有影响。之后我们来touch文件,此时可以看到这个文件是存在的。
我们调用这条命令把默认的参数模板信息加到这个文件里面来。
可以看到它执行成功了,此时可以打开这个文件来查看一下。
这就是我们默认生成的文件,默认生成文件刚才提到了这里边要改的是几个信息。
第一个是datanodemasterserver,因为我们是都是在本机上来执行的,所以用的都是localhost的本机信息,我们要改成远程的IP。把它的IP改成这台机器,主机我们准备装在这台机器上。
第二个是datanodeslaveserver,它会装到这台机器上,之后会改datanodeRepNum和SlaveType,我们接着往下看。
可以看到这后边有一些注释,现在我们要改流复制,SlaveType这块是1,1就是流复制的方式,最后我们再加一条信息,这条信息为增加一个hb的配置信息,datanodePgHbaEntries就是用来加这个信息的。这个信息支持加多条,所以你如果有其他需要的话,可以通过这种方式加多条。信息加完了,配置文件就配置好了,配置好了以后我们就用配置文件来尝试启动集群。因为刚才我们启动了一个三副本的集群,后来把它给删掉了,所以可以看到这里现在没有在副本的集群相关的进程信息了,它是一个全新的环境。
在全新的环境,我们准备装一个流复制的环境,刚才用的是83这台机器,还有92.86这台机器,可以看到在86的机器上,其实它也是没有PG进程了。
安装之后我们再看一下它的结果,正常来说在83上应该有它主机的相关信息,而在86上安装的是备机的相关信息,这样它俩就形成了一套流复制的环境,这个过程就是在对这个节点进行初始化,看到Master、slave,并且最终启动。
接着我们再查看一下进程,可以看到master进程已经安装好了,是在这台机器上的,它已经启动起来了。
同样再看一下86这个机器的进程,它的进程也已经部署好了,这台机器用的是slave进程。
这就是它的过程,可以简单看一下它的状态,比方说monitor是不是成功了,另外可以看一下进程,流复制的状态有没有问题。
以上就是三种部署方式的大概流程,简单回顾一下,首先需要建依赖,之后可以一键式部署一个三副本,用Docker建一个Docker下的环境。另外,如果你让自己复制流复制和其他的配置,那么你自己来建。
《PolarDB for PostgreSQL源码与应用实战》——PolarDB for PostgreSQL 基础入门(5) https://developer.aliyun.com/article/1232834?groupCode=polardbforpg