专栏首页TBase数据库学习总结【TBase开源版测评】体验安装
原创

【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集群的机器的最低配置之类的。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 纵横安卓刷机界的CM,如今转行做无人车了,还获得了加州路测许可

    千平 发自 凹非寺 量子位 出品 | 公众号 QbitAI ? CM,在安卓刷机世界大名鼎鼎。 这是一个基于安卓修改进化的手机操作系统,以无广告、无预装、模块化...

    量子位
  • ZooKeeper应用:kafka

    kafka作为一个优秀的消息中间件,一个数据buffer的管道。除了它的高性能外,高课扩展性,也决定了它的优势。 可以在不需要下线的情况下进行扩容 这里只是...

    dodo_lihao
  • 什么是以太坊?什么是智能合约?

    以太坊是一个分布式的计算平台。它会生成一个名为Ether的加密货币。程序员可以在以太坊区块链上写下“智能合约”,这些以太坊智能合约会根据代码自动执行。

    芒果2018
  • 什么是以太坊?什么是智能合约?

    以太坊是一个分布式的计算平台。它会生成一个名为Ether的加密货币。程序员可以在以太坊区块链上写下“智能合约”,这些以太坊智能合约会根据代码自动执行。

    笔阁
  • [Python笔记] 文件操作之buffering

    buffer缓冲区是内存上的一个空间,一般爱说是一个FIFO队列,当达到缓冲区阀值或者缓冲区满了之后,数据才会flush到磁盘(也就是常说的落到磁盘上)

    行 者
  • LeetCode 673. 最长递增子序列的个数(DP)

    Michael阿明
  • Java SE | 基础语法day16

    剑走天涯
  • 一个程序员眼中的区块链技术

    我为什么要写这篇文章?在了解区块链相关信息时(例如维基百科上的内容),我发现这些内容非常零碎和不连贯。要把这些零碎的信息整合在一起,形成一个完整的视图需要花费大...

    java架构师
  • 常用ES6语法

    允许声明在对象字面量时使用简写语法,来初始化属性变量和函数的定义方法,并且允许在对象属性中进行计算操作

    薛定喵君
  • 程序员面试金典 - 面试题 08.11. 硬币(背包DP)

    硬币。给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算 n 分有几种表示法。(结果可能会很大,你需要将结果模上1000000007)

    Michael阿明

扫码关注云+社区

领取腾讯云代金券