OpenTenBase V5的全新简易安装
有些数据库不得其法的话安装会费力,而有些数据库可能天生就是费力
- 今天我们说的是前者,后者那种数据库没必要去说
- 自 OpenTenBase 5 版本起,官方正式推出了 opentenbase_ctl 工具集,旨在显著简化入门用户的部署与安装流程。这就是我说的得其法。 如果没有官方的努力安装就不会这样简单。
- 官方很贴心给我提供了编译好的opentenbase_ctl工具与使用教程。此外,通过源码编译或rpm包中,bin目录下也有这个工具。
- 即使作为一名完全的新手,仅使用一台 CentOS 7 服务器,严格遵循官方教程操作,不到十分钟便成功部署并启动了一个可用的OpenTenBase数据库实例。
实践之路
接下来,我将完整展示本次安装的具体步骤。
- 准备工作
1.1) root账号下创建目录 /data
mkdir -p /data
- 1.2) root账号下创建用户opentenbase
useradd -d /data/opentenbase -s /bin/bash -m opentenbase
- 1.3) 修改opentenbase的密码(所有服务器的opentenbase密码要一致)
passwd opentenbase
- 1.4) 把opentenbase用户加入到 wheel group
For RedHat(CentOS等)
usermod -aG wheel opentenbase
- For Debian(Ubuntu/Kylin V10/统信UOS等)
usermod -aG sudo opentenbase
1.5) 启用wheel group 的 sudo 权限
执行 visudo 命令,然后搜索wheel,可以看到%wheel开头的两条配置,分别去掉最左边的#,保存退出。
visudo
%wheel ALL=(ALL) ALL
%wheel ALL=(ALL) NOPASSWD: ALL2)服务器安装 sshpass,用于自动分发软件包
yum install sshpass
创建一个软链接:
sudo ln -s /usr/lib64/libssh2.so.1 /usr/lib64/libssh2.so
3)准备三大件(一键部署工具、内核包、部署的配置文件),都放入/data/opentenbase/ 目录中。
3.1)准备好一键部署工具
我这边是官方直接提供给我的,下面连接下载也行。
su - opentenbase
wget https://opentenbase-1302252972.cos.ap-nanjing.myqcloud.com/opentenbase_ctl
chmod +x opentenbase_ctl
3.2)准备好内核包
我是下载官方归档的wget https://opentenbase-1302252972.cos.ap-nanjing.myqcloud.com/opentenbase-5.21.8-i.x86_64.tar.gz3.3)准备好部署的配置文件
在opentenbase用户下,cd 到 /data/opentenbase 目录下,新建2个配置文件postgres.conf和config.ini,
postgres.conf:对新人试用,为空就行。
config.ini: 部署信息,包括gtm、coordinators、datanodes的端口。其中 server 中的 ssh-password 是opentenbase账号的密码。
然后复制下面的配置模板信息粘贴到config.ini,并根据自己环境信息作调整,保存退出。
- su - opentenbase
touch postgres.conf
touch config.ini
vim config.ini
- 我的配置文件如下:
- Instance configuration
[instance]
name=opentenbase01
type=distributed
package=/data/opentenbase/opentenbase-5.21.8-i.x86_64.tar.gz- GTM nodes
[gtm]
master=10.xx.xxx.xxx- Coordinator nodes
[coordinators]
master=10.xx.xxx.xxx
nodes-per-server=1
conf=/data/opentenbase/postgres.conf- Data nodes
[datanodes]
master=10.xx.xxx.xxx
nodes-per-server=1
conf=/data/opentenbase/postgres.conf- Login and deployment account
[server]
ssh-user=opentenbase
ssh-password=xxx
ssh-port=22- Log configuration
[log]
level=DEBUG- 2、实例初始化
./opentenbase_ctl install -c config.ini
看到====== Installation completed successfully ====== ,代表已经安装成功了
- 3、测试
查看数据库状态,
./opentenbase_ctl status------------- Instance status -----------
Instance name: opentenbase01
Version: v5.21.8-------------- Node status --------------
Node cn0001(10.xx.xxx.xxx:11003) is Running
Node gtm0001(10.xx.xxx.xxx:11000) is Running
Node dn0001(10.xx.xxx.xxx:11006) is Running
[Result] Total: 3, Running: 3, Stopped: 0, Unknown: 0------- Master CN Connection Info -------
[1] cn0001(10.xx.xxx.xxx)
Environment variable: export LD_LIBRARY_PATH=/data/opentenbase/install/opentenbase/5.21.8/lib && export PATH=/data/opentenbase/install/opentenbase/5.21.8/bin:${PATH}
PSQL connection: psql -h 10.xx.xxx.xxx -p 11003 -U opentenbase postgres
我们可以看到输出 ------- Master CN Connection Info ------- 部分,已经贴心的把如何连接库写上了。
export LD_LIBRARY_PATH=/data/opentenbase/install/opentenbase/5.21.8/lib && export PATH=/data/opentenbase/install/opentenbase/5.21.8/bin:${PATH}
psql -h 10.xx.xxx.xxx -p 11003 -U opentenbase postgres登录后验证基本功能:
postgres=# create table test(id int);
CREATE TABLE
postgres=# insert into test(id) values(1);
INSERT 0 1
postgres=# select * from test;id
-----1
(1 row)postgres=#
- 以上,我们搭建好一个最简单的opentenbase实例,可以测试了。
