什么是OpenTenBase
OpenTenBase 是一个提供写可靠性,多主节点数据同步的关系数据库集群平台。你可以将 OpenTenBase 配置一台或者多台主机上, OpenTenBase 数据存储在多台物理主机上面。数据表的存储有两种方式, 分别是 distributed 或者 replicated ,当向OpenTenBase发送查询 SQL时, OpenTenBase 会自动向数据节点发出查询语句并获取最终结果。
OpenTenBase 采用分布式集群架构(如下图), 该架构分布式为无共享(share nothing)模式,节点之间相应独立,各自处理自己的数据,处理后的结果可能向上层汇总或在节点间流转,各处理单元之间通过网络协议进行通信,并行处理和扩展能力更好,这也意味着只需要简单的x86服务器就可以部署 OpenTenBase 数据库集群
1.OpenTenBase集群环境的搭建
两台云服务器10.99.1.1、10.99.1.2;GTM两台(主、备),CN节点两个,DN节点四个(两主、两备)
10.99.1.1:GTM主(端口50001)、CN1(端口30004)、DN1主(40004)、DN1备(端口50004)
10.99.1.2:GTM备(端口50001)、CN2(端口30004)、DN2主(40004)、DN2备(端口50004)
执行命令10.99.1.1上
安装依赖 yum -y install gcc make readline-devel zlib-devel openssl-devel uuid-devel bison flex git
创建用户 mkdir /data
指定home目录 useradd -d /data/opentenbase -s /bin/bash -m opentenbase
修改密码 passwd opentenbase
获取源码 选取其中一台主机,在root用户下,切换用户 su - opentenbase
git clone https://github.com/OpenTenBase/OpenTenBase 只需要在次节点拉取即可,其他节点可以忽略此步骤
设置环境变量 export SOURCECODE_PATH=/data/opentenbase/OpenTenBase
export INSTALL_PATH=/data/opentenbase/install
源码编译 cd ${SOURCECODE_PATH}
rm -rf
I
N
S
T
A
L
L
P
A
T
H
/
o
p
e
n
t
e
n
b
a
s
e
b
i
n
v
2.0
c
h
m
o
d
+
x
c
o
n
f
i
g
u
r
e
∗
开始
.
/
c
o
n
f
i
g
u
r
e
−
−
p
r
e
f
i
x
=
{INSTALL_PATH}/opentenbase_bin_v2.0 chmod +x configure* 开始 ./configure --prefix=
INSTALLPATH/opentenbasebinv2.0chmod+xconfigure∗开始./configure−−prefix={INSTALL_PATH}/opentenbase_bin_v2.0 --enable-user-switch --with-openssl --with-ossp-uuid CFLAGS=-g
make clean
make -sj
make install
chmod +x contrib/pgxc_ctl/make_signature
cd contrib
make -sj
make install
禁用 SELinux 和 防火墙 systemctl stop firewalld
机器间的ssh互信配置 ssh-keygen
ssh-copy-id opentenbase@10.99.1.2
环境变量配置 cd /data/opentenbase
vim .bashrc
粘贴 export OPENTENBASE_HOME=/data/opentenbase/install/opentenbase_bin_v2.0
export PATH=
O
P
E
N
T
E
N
B
A
S
E
H
O
M
E
/
b
i
n
:
OPENTENBASE_HOME/bin:
OPENTENBASEHOME/bin:PATH
export LD_LIBRARY_PATH=
O
P
E
N
T
E
N
B
A
S
E
H
O
M
E
/
l
i
b
:
OPENTENBASE_HOME/lib:
OPENTENBASEHOME/lib:{LD_LIBRARY_PATH}
export LC_ALL=C
生效 source .bashrc
初始化pgxc_ctl.conf文件 mkdir /data/opentenbase/pgxc_ctl
cd /data/opentenbase/pgxc_ctl
双节点配置文件:https://docs.opentenbase.org/guide/pgxc_ctl_double.conf
单节点配置文件:https://docs.opentenbase.org/guide/pgxc_ctl_single.conf
选择单节点
wget https://docs.opentenbase.org/guide/pgxc_ctl_double.conf
mv pgxc_ctl_double.conf pgxc_ctl.conf
vim pgxc_ctl.conf
把IP_1、IP_2换成10.99.1.1、10.99.1.2
安装 pgxc_ctl
PGXC deploy all
PGXC init all
查看节点运行情况
PGXC monitor all
登录数据库
psql -h 10.99.1.1 -p 40004 -U opentenbase -d postgres
DN节点加入到默认组中 create default node group default_group with (dn001,dn002);
create sharding group to group default_group;
执行命令10.99.1.2上
安装依赖 yum -y install gcc make readline-devel zlib-devel openssl-devel uuid-devel bison flex git
创建用户 mkdir /data
指定home目录 useradd -d /data/opentenbase -s /bin/bash -m opentenbase
修改密码 passwd opentenbase
环境变量配置 su - opentenbase
cd /data/opentenbase
vim .bashrc
粘贴 export OPENTENBASE_HOME=/data/opentenbase/install/opentenbase_bin_v2.0
export PATH=
O
P
E
N
T
E
N
B
A
S
E
H
O
M
E
/
b
i
n
:
OPENTENBASE_HOME/bin:
OPENTENBASEHOME/bin:PATH
export LD_LIBRARY_PATH=
O
P
E
N
T
E
N
B
A
S
E
H
O
M
E
/
l
i
b
:
OPENTENBASE_HOME/lib:
OPENTENBASEHOME/lib:{LD_LIBRARY_PATH}
export LC_ALL=C
生效 source .bashrc