searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Tbase安装教程

2023-09-27 02:43:51
40
0
  1. 集群规划

集群规划
 机器1 62.234.17.162
 机器2 36.137.53.249
 
节点名称 IP 数据目录
GTM master 62.234.17.162 /data/tbase/data/gtm
GTM slave 36.137.53.249 /data/tbase/data/gtm
CN1 62.234.17.162 /data/tbase/data/coord
CN2 36.137.53.249 /data/tbase/data/coord
DN1 master 62.234.17.162 /data/tbase/data/dn001
DN1 slave 36.137.53.249 /data/tbase/data/dn001
DN2 master 36.137.53.249 /data/tbase/data/dn002
DN2 slave 62.234.17.162 /data/tbase/data/dn002
  1. 创建目录和用户(集群所有机器都需要配置)

 
#集群所有机器都需要配置
mkdir /data
mkdir -p /data/tbase/data/gtm
mkdir -p /data/tbase/data/coord
mkdir -p /data/tbase/data/dn001
mkdir -p /data/tbase/data/dn002
mkdir -p /data/tbase/install
 
 
 
 
  1. 安装相关rpm依赖包(集群所有机器都需要配置)

 
#集群所有机器都需要配置
mkdir /data
mkdir -p /data/tbase/data/gtm
mkdir -p /data/tbase/data/coord
mkdir -p /data/tbase/data/dn001
mkdir -p /data/tbase/data/dn002
mkdir -p /data/tbase/install
 

 
如果依赖安装失败,建议检查操作系统,centos7.6以下的版本应该不会报错,8.0以上的版本可能会报错
  1. 源码获取(集群所有机器都需要配置)

 
cd /data/tbase
git clone 链接

 
  1. 配置环境变量(使用root用户)(集群所有机器都需要配置)

 
mkdir -p /data/tbase/install
chown -R tbase:tbase /data

export SOURCECODE_PATH=/data/tbase/tbase
export INSTALL_PATH=/data/tbase/install


export SOURCECODE_PATH=/data/jd/jd/teledbx-stable
export INSTALL_PATH=/data/jd/jd/teledbx
 
  1. 源码编译(集群所有机器都需要配置)

  1. configure配置。运行成功之后如图所示
 
cd ${SOURCECODE_PATH}
 chmod +x configure*
 ./configure --prefix=${INSTALL_PATH} --enable-user-switch --with-openssl  --with-ossp-uuid CFLAGS=-g
 
  1. 安装 安装成功后如下图
 
 make clean
 make -sj 4
 make install
  1. contrib安装(集群所有机器都需要配置)

 chmod +x contrib/pgxc_ctl/make_signature
 cd contrib
 make -sj 4
 
make install
  1. 配置虚拟机互信(集群所有机器都需要配置)

(注意:除第①和第②步在root下进行,其他操作均在tbase用户下进行,且需提前关闭firewalld和selinux)
① root下,两台机器分别编辑/etc/ssh/sshd_config文件:
vim /etc/ssh/sshd_config
:set nu #使vim编辑器显示文件行数
修改以下内容:
RSAAuthentication yes  #启用rsa认证,如果sshd_config里没有这一项可以忽略
PubkeyAuthentication yes  #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys  #公钥文件路径,一般默认不需修改
 
② 然后两台机器分别重启sshd服务:
 
systemctl restart sshd
 
 
③ 两台机器分别切换到tbase用户下,查看~下有没有.ssh目录,没有就新建一个,注意权限问题。
 
 
su tbase
cd ~
mkdir .ssh
chmod 700 .ssh #.ssh需要700权限
ssh-keygen -t rsa #生成公钥私钥
 
 
④ 互相分发密钥(主节点也需要给自己配置互信),执行命令后需要输入一次目标机器tbase用户的密码:
机器1:62.234.17.162 机器2:36.137.53.249
ssh-copy-id -i /data/tbase/.ssh/id_rsa.pub tbase@36.137.53.249 #在62上执行,密钥路径建议使用绝对路径
ssh-copy-id -i /data/tbase/.ssh/id_rsa.pub tbase@62.234.17.162  #在36上执行,密钥路径建议使用绝对路径
ssh-copy-id -i /data/tbase/.ssh/id_rsa.pub tbase@62.234.17.162#在62上执行,密钥路径建议使用绝对路径
 
⑤ 配置权限
分发密钥后,.ssh下会有一个authorized_keys文件,需要添加600或644权限
cd ~/.ssh
chmod 644 authorized_keys
 
⑥测试互信
 
ssh 'tbase@36.137.53.249'  #62上执行
ssh 'tbase@62.234.17.162'  #36上执行
ssh 'tbase@62.234.17.162'  #62上执行
 
两台机器能够互相免密,则互信配置成功。
  1. 配置环境变量(重要,没配好后面会找不到pgxc_ctl命令)

tbase用户下的vim ~/.bashrc添加下列配置(所有机器都需要,注意根据自己实际配置添加)
 
 export TBASE_HOME=/data/tbase/install/tbase_bin_v2.0
 export PATH=$TBASE_HOME/bin:$PATH
 export LD_LIBRARY_PATH=$TBASE_HOME/lib:${LD_LIBRARY_PATH}
 
使配置生效:
 
source ~/.bashrc
 
截至目前,所有所需基本环境已配置完毕,进入集群初始化阶段。
  1. 初始化集群

 
mkdir /data/tbase/pgxc_ctl
cd /data/tbase/pgxc_ctl
vim pgxc_ctl.conf
 

pgxc_ctl.conf文件配置(改ip和shared_buffers等参数,要配安全组,允许tcp的下面端口):

 

进入到pgxc_ctl交互工具,然后执行deploy all

 
[tbase@VM-16-17-centos pgxc_ctl]$ pgxc_ctl 
/bin/bash
Installing pgxc_ctl_bash script as /data/tbase/pgxc_ctl/pgxc_ctl_bash.
Installing pgxc_ctl_bash script as /data/tbase/pgxc_ctl/pgxc_ctl_bash.
Reading configuration using /data/tbase/pgxc_ctl/pgxc_ctl_bash --home /data/tbase/pgxc_ctl --configuration /data/tbase/pgxc_ctl/pgxc_ctl.conf
Finished reading configuration.****** PGXC_CTL START **********

Current directory: /data/tbase/pgxc_ctl
PGXC deploy all
 
执行成功之后如图所示:
不成功的话检查上面的参数

初始化集群

进入到pgxc_ctl命令交互工具,执行init all命令,执行成功之后截图如下(本次实验GTM slave节点没有拉起来,暂时未找到原因,后续找到原因会进行更新。GTM slave是备节点,不会影响数据库的使用,只是无法进行GTM组件容灾的演练)
[tbase@VM-16-17-centos pgxc_ctl]$ pgxc_ctl 
/bin/bash
Installing pgxc_ctl_bash script as /data/tbase/pgxc_ctl/pgxc_ctl_bash.
Installing pgxc_ctl_bash script as /data/tbase/pgxc_ctl/pgxc_ctl_bash.
Reading configuration using /data/tbase/pgxc_ctl/pgxc_ctl_bash --home /data/tbase/pgxc_ctl --configuration /data/tbase/pgxc_ctl/pgxc_ctl.conf
Finished reading configuration.****** PGXC_CTL START **********

Current directory: /data/tbase/pgxc_ctl
PGXC init all
 

集群状态查看

进入pgxc_ctl命令交互界面,执行monitor all命令可以查看各个组件的运行情况。
 
[tbase@VM-16-17-centos pgxc_ctl]$ pgxc_ctl 
/bin/bash
Installing pgxc_ctl_bash script as /data/tbase/pgxc_ctl/pgxc_ctl_bash.
Installing pgxc_ctl_bash script as /data/tbase/pgxc_ctl/pgxc_ctl_bash.
Reading configuration using /data/tbase/pgxc_ctl/pgxc_ctl_bash --home /data/tbase/pgxc_ctl --configuration /data/tbase/pgxc_ctl/pgxc_ctl.conf
Finished reading configuration.****** PGXC_CTL START **********

Current directory: /data/tbase/pgxc_ctl
PGXC monitor all
 
  1. 集群访问和创建分布式表

 
[tbase@VM-16-17-centos pgxc_ctl]$ psql -h62.234.17.162 -p 30004 -d postgres -U tbase 
postgres=# create default node group default_group  with (dn001,dn002);
postgres=# create sharding group to group default_group;
postgres=# create table t1(id int primary key,name varchar(20));
postgres=# insert into t1 select generate_series(1,100);
 
0条评论
0 / 1000
蒋****典
5文章数
0粉丝数
蒋****典
5 文章 | 0 粉丝
蒋****典
5文章数
0粉丝数
蒋****典
5 文章 | 0 粉丝
原创

Tbase安装教程

2023-09-27 02:43:51
40
0
  1. 集群规划

集群规划
 机器1 62.234.17.162
 机器2 36.137.53.249
 
节点名称 IP 数据目录
GTM master 62.234.17.162 /data/tbase/data/gtm
GTM slave 36.137.53.249 /data/tbase/data/gtm
CN1 62.234.17.162 /data/tbase/data/coord
CN2 36.137.53.249 /data/tbase/data/coord
DN1 master 62.234.17.162 /data/tbase/data/dn001
DN1 slave 36.137.53.249 /data/tbase/data/dn001
DN2 master 36.137.53.249 /data/tbase/data/dn002
DN2 slave 62.234.17.162 /data/tbase/data/dn002
  1. 创建目录和用户(集群所有机器都需要配置)

 
#集群所有机器都需要配置
mkdir /data
mkdir -p /data/tbase/data/gtm
mkdir -p /data/tbase/data/coord
mkdir -p /data/tbase/data/dn001
mkdir -p /data/tbase/data/dn002
mkdir -p /data/tbase/install
 
 
 
 
  1. 安装相关rpm依赖包(集群所有机器都需要配置)

 
#集群所有机器都需要配置
mkdir /data
mkdir -p /data/tbase/data/gtm
mkdir -p /data/tbase/data/coord
mkdir -p /data/tbase/data/dn001
mkdir -p /data/tbase/data/dn002
mkdir -p /data/tbase/install
 

 
如果依赖安装失败,建议检查操作系统,centos7.6以下的版本应该不会报错,8.0以上的版本可能会报错
  1. 源码获取(集群所有机器都需要配置)

 
cd /data/tbase
git clone 链接

 
  1. 配置环境变量(使用root用户)(集群所有机器都需要配置)

 
mkdir -p /data/tbase/install
chown -R tbase:tbase /data

export SOURCECODE_PATH=/data/tbase/tbase
export INSTALL_PATH=/data/tbase/install


export SOURCECODE_PATH=/data/jd/jd/teledbx-stable
export INSTALL_PATH=/data/jd/jd/teledbx
 
  1. 源码编译(集群所有机器都需要配置)

  1. configure配置。运行成功之后如图所示
 
cd ${SOURCECODE_PATH}
 chmod +x configure*
 ./configure --prefix=${INSTALL_PATH} --enable-user-switch --with-openssl  --with-ossp-uuid CFLAGS=-g
 
  1. 安装 安装成功后如下图
 
 make clean
 make -sj 4
 make install
  1. contrib安装(集群所有机器都需要配置)

 chmod +x contrib/pgxc_ctl/make_signature
 cd contrib
 make -sj 4
 
make install
  1. 配置虚拟机互信(集群所有机器都需要配置)

(注意:除第①和第②步在root下进行,其他操作均在tbase用户下进行,且需提前关闭firewalld和selinux)
① root下,两台机器分别编辑/etc/ssh/sshd_config文件:
vim /etc/ssh/sshd_config
:set nu #使vim编辑器显示文件行数
修改以下内容:
RSAAuthentication yes  #启用rsa认证,如果sshd_config里没有这一项可以忽略
PubkeyAuthentication yes  #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys  #公钥文件路径,一般默认不需修改
 
② 然后两台机器分别重启sshd服务:
 
systemctl restart sshd
 
 
③ 两台机器分别切换到tbase用户下,查看~下有没有.ssh目录,没有就新建一个,注意权限问题。
 
 
su tbase
cd ~
mkdir .ssh
chmod 700 .ssh #.ssh需要700权限
ssh-keygen -t rsa #生成公钥私钥
 
 
④ 互相分发密钥(主节点也需要给自己配置互信),执行命令后需要输入一次目标机器tbase用户的密码:
机器1:62.234.17.162 机器2:36.137.53.249
ssh-copy-id -i /data/tbase/.ssh/id_rsa.pub tbase@36.137.53.249 #在62上执行,密钥路径建议使用绝对路径
ssh-copy-id -i /data/tbase/.ssh/id_rsa.pub tbase@62.234.17.162  #在36上执行,密钥路径建议使用绝对路径
ssh-copy-id -i /data/tbase/.ssh/id_rsa.pub tbase@62.234.17.162#在62上执行,密钥路径建议使用绝对路径
 
⑤ 配置权限
分发密钥后,.ssh下会有一个authorized_keys文件,需要添加600或644权限
cd ~/.ssh
chmod 644 authorized_keys
 
⑥测试互信
 
ssh 'tbase@36.137.53.249'  #62上执行
ssh 'tbase@62.234.17.162'  #36上执行
ssh 'tbase@62.234.17.162'  #62上执行
 
两台机器能够互相免密,则互信配置成功。
  1. 配置环境变量(重要,没配好后面会找不到pgxc_ctl命令)

tbase用户下的vim ~/.bashrc添加下列配置(所有机器都需要,注意根据自己实际配置添加)
 
 export TBASE_HOME=/data/tbase/install/tbase_bin_v2.0
 export PATH=$TBASE_HOME/bin:$PATH
 export LD_LIBRARY_PATH=$TBASE_HOME/lib:${LD_LIBRARY_PATH}
 
使配置生效:
 
source ~/.bashrc
 
截至目前,所有所需基本环境已配置完毕,进入集群初始化阶段。
  1. 初始化集群

 
mkdir /data/tbase/pgxc_ctl
cd /data/tbase/pgxc_ctl
vim pgxc_ctl.conf
 

pgxc_ctl.conf文件配置(改ip和shared_buffers等参数,要配安全组,允许tcp的下面端口):

 

进入到pgxc_ctl交互工具,然后执行deploy all

 
[tbase@VM-16-17-centos pgxc_ctl]$ pgxc_ctl 
/bin/bash
Installing pgxc_ctl_bash script as /data/tbase/pgxc_ctl/pgxc_ctl_bash.
Installing pgxc_ctl_bash script as /data/tbase/pgxc_ctl/pgxc_ctl_bash.
Reading configuration using /data/tbase/pgxc_ctl/pgxc_ctl_bash --home /data/tbase/pgxc_ctl --configuration /data/tbase/pgxc_ctl/pgxc_ctl.conf
Finished reading configuration.****** PGXC_CTL START **********

Current directory: /data/tbase/pgxc_ctl
PGXC deploy all
 
执行成功之后如图所示:
不成功的话检查上面的参数

初始化集群

进入到pgxc_ctl命令交互工具,执行init all命令,执行成功之后截图如下(本次实验GTM slave节点没有拉起来,暂时未找到原因,后续找到原因会进行更新。GTM slave是备节点,不会影响数据库的使用,只是无法进行GTM组件容灾的演练)
[tbase@VM-16-17-centos pgxc_ctl]$ pgxc_ctl 
/bin/bash
Installing pgxc_ctl_bash script as /data/tbase/pgxc_ctl/pgxc_ctl_bash.
Installing pgxc_ctl_bash script as /data/tbase/pgxc_ctl/pgxc_ctl_bash.
Reading configuration using /data/tbase/pgxc_ctl/pgxc_ctl_bash --home /data/tbase/pgxc_ctl --configuration /data/tbase/pgxc_ctl/pgxc_ctl.conf
Finished reading configuration.****** PGXC_CTL START **********

Current directory: /data/tbase/pgxc_ctl
PGXC init all
 

集群状态查看

进入pgxc_ctl命令交互界面,执行monitor all命令可以查看各个组件的运行情况。
 
[tbase@VM-16-17-centos pgxc_ctl]$ pgxc_ctl 
/bin/bash
Installing pgxc_ctl_bash script as /data/tbase/pgxc_ctl/pgxc_ctl_bash.
Installing pgxc_ctl_bash script as /data/tbase/pgxc_ctl/pgxc_ctl_bash.
Reading configuration using /data/tbase/pgxc_ctl/pgxc_ctl_bash --home /data/tbase/pgxc_ctl --configuration /data/tbase/pgxc_ctl/pgxc_ctl.conf
Finished reading configuration.****** PGXC_CTL START **********

Current directory: /data/tbase/pgxc_ctl
PGXC monitor all
 
  1. 集群访问和创建分布式表

 
[tbase@VM-16-17-centos pgxc_ctl]$ psql -h62.234.17.162 -p 30004 -d postgres -U tbase 
postgres=# create default node group default_group  with (dn001,dn002);
postgres=# create sharding group to group default_group;
postgres=# create table t1(id int primary key,name varchar(20));
postgres=# insert into t1 select generate_series(1,100);
 
文章来自个人专栏
数据库pg
4 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0