【TBase开源版测评】体验安装

时间:2022-07-22
本文章向大家介绍【TBase开源版测评】体验安装,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本次我们参考官方教程(https://github.com/Tencent/TBase/wiki/1%E3%80%81TBase_Quick_Start )体验在虚拟机上安装TBaseV2。整个安装过程还是比较流畅的,对有过集群安装经验的人员来说,参考文档在安装过程中做了相应的调整还是可以完成安装的。但如果对于一个新手或是对postgresl数据库不太熟悉的人来说,安装文档还是有些地方说得不够详细的。

一、体验过程

1、前期规划

根据教程,我们计划将准备使用两台虚拟机搭建1GTM主,1GTM备,2CN主(CN主之间对等,因此无需备CN),2DN主,2DN备的集群,该集群为具备容灾能力的最小配置。机器IP规划为:

机器1:192.168.8.187 tbase187
机器2:192.168.8.188 tbase188

集群规划如下:

节点名称

IP

数据目录

GTM master

192.168.8.187

/data/tbase/data/gtm

GTM slave

192.168.8.188

/data/tbase/data/gtm

CN1

192.168.8.187

/data/tbase/data/coord

CN2

192.168.8.188

/data/tbase/data/coord

DN1 master

192.168.8.187

/data/tbase/data/dn001

DN1 slave

192.168.8.188

/data/tbase/data/dn001

DN2 master

192.168.8.188

/data/tbase/data/dn002

DN2 slave

192.168.8.187

/data/tbase/data/dn002

2、安装centos 7 虚拟机

安装过程在此处就不再详细描述,建议大家给虚拟机的内存尽量的分配大一点(默认配置是1核1G,我改成了4核4G)。后期进行集群初始化时我就因为早期分配的内存太少,导致初始化总是无法完成。修改hostname文件,将两台机器命名为tbase187、tbase188,并在hosts添加记录

192.168.8.187 tbase187
192.168.8.188 tbase188

添加完后,hosts文件如下图:

hosts图

3、根据教程添加用户tbase

mkdir /data
useradd -d /data/tbase tbase

此处因为后期有操作免密登录,创建的用户tbase最好给他添加一个密码

passwd tbased

实现集群规划中的两台机器免密登录,具体参考(https://blog.csdn.net/chenghuikai/article/details/52807074

注:要实现的tbase用户的双机免密登录,所以在实际操作中要把用户切换到tbase,生成密钥之后需要再修改一下tbase用户下tbase目录归属和.ssh目录的权限。

4、下载源码并编译安装

如果在安装虚拟机的时候你已经将一些开发包选择安装了,那可能直接按教程进行下载源码就可以编译了,但如果你跟我一样资源有限,是选择的最小安装包,那可能在安装之前要先安装一些依赖包,或者是根据安装过程中的提示进行补充。

源码获取

cd /data/tbase
git clone https://github.com/Tencent/TBase
从github下载源码

下载完成进行程序目录进行编译安装

编译过程中根据错误信息调整安装缺失的依赖包

由于我是最小化安装的centos 7,所以一些相关依赖没有安装,这里需要先安装依赖:

yum install gcc gcc-c++ openssl-deve uuid uuid-devel readline readline-devel flex bison zlib zlib-devel

重新进行编译。

./configure --prefix=/data/tbase/tbase_bin_v2.0 --enable-user-switch --with-openssl --with-ossp-uuid CFLAGS=-g
重新编译
make clean
make && make install

在编译过程中,会有一些这样的提示,这块最好是先设置一下。以免在后期初始化集群的时候会出现问题。具体可以参考(https://cloud.tencent.com/developer/article/1435512)亲测可用。

编译过程中出现的提示

经过一段时间的刷屏信息之后。

configure成功提示信息

继续后续:

chmod +x contrib/pgxc_ctl/make_signature
cd contrib
make -sj
make install

如果看到下图,恭喜你万里长征第一步成功了

源码编译成功

5、环境变量配置

在tbase用户下的~/.bashrc添加如下配置(集群中所有机器都需要配置)

export TBASE_HOME=/data/tbase/tbase_bin_v2.0
 export PATH=$TBASE_HOME/bin:$PATH
 export LD_LIBRARY_PATH=$TBASE_HOME/lib:${LD_LIBRARY_PATH}
配置环境变量
source ~/.bashrc

让配置起效。以上,已经配置好了所需要基础环境,可以进入到集群初始化阶段。

6、生成配置文件

su tbase
pgxc_ctl

进入pgxc_ctl配置工具

pgxc_ctl配置工具

会在当前用户目录下创建一个pgxc_ctl目录,但没有配置文件,可以使用prepare config生成一个模板配置文件。然后exit退出pgxc_ctl工具。

生成配置文件模板

此时在用户目录下的pgxc_ctl目录下会自动生成一个配置文件pgxc_ctl.conf,根据自己的实际需要进行相关配置调整。也可以直接使用官方教程中提供的配置文件进行调整。

7、分发二进制包

使用pgxc_ctl的命令deploy all进行二进制包的分发(此命令会对集群中的所有机器进行二进制包的分发,所以如果在集群中的机器使用这个命令,要配置本机用户的免密登录,还有一定要关掉防火墙)

分发二进制包

8、使用init all进行集群初始化

初始化集群

看到下图时表示集群已经初始化完成:

初始化完成

使用monitor all命令来查看集群状态:

查看集群状态

使用psql访问集群:

select * from pgxc_node;
查看集群

二、体验总结

根据官方安装文档进行集群安装,其中有不少的坑对于新手来说还是有些困难的,建议官方对安装环境的最低要求有一个说明,比如安装TBase集群的机器的最低配置之类的。