【TcaplusDB知识库】如何部署和使用TcaplusDB docker版 (JDBC)


【TcaplusDB知识库】如何部署和使用TcaplusDB docker版 (JDBC)

实验简介

相关概念

TcaplusDB:腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。 TcaplusDB docker 版可以方便用户在无法连通云环境的开发环境进行代码调试,同时在功能上和腾讯云版本无差别。通过本实验,我们将学习如何在CVM实例部署 TcaplusDB 本地 Docker 环境,并通过TcaplusDB Web 控制台完成建表,再通过 JDBC Driver 以及 TcaplusDB Console 连接并操作数据库。

  • 点击左侧实验资源,单击登陆进入实验。

undefined

流程说明

流程图

本实验的主要步骤如下:

  • 启动 docker服务

  • 导入TcaplusDB镜像

  • 创建容器

  • 查看进程是否正常启动

  • 访问TcaplusDB OMS,获取集群参数

  • 创建示例表格

  • 创建mail表的索引,为后续实验做准备

  • 配置JDBC示例中的数据库连接参数

  • 修改JDBC中执行CRUD的代码,选择需要执行的操作

  • 运行JDBC示例,观察结果

  • 自由修改JDBC示例,尝试CRUD操作

  • 启动TcaplusDB Console并连接数据库

  • 使用TcaplusDB Console执行CRUD操作

  • 自由操作TcaplusDB Console

实验步骤

启动 docker服务

在左侧选择“实验资源”,点击CVM的“登录“按钮,进入CVM终端。实验环境已经安装好docker,使用如下命令启动服务。

systemctl start docker.service

导入TcaplusDB镜像

镜像文件可点此下载,实验环境已下载在/root/目录下,使用如下命令导入。该步骤可能需要耐心等待几分钟。

docker load -i  tcaplusdb-local-3.53.1.tar.gz

创建容器

使用如下命令创建容器。

  • TCAPLUS_CONTAINER_OMS_PASSWORD: TcaplusDB Web 控制台密码。

  • 暴露端口说明:80-web 控制台,9999-TcaplusDB服务暴露端口, 13755-13765-TcaplusDB服务暴露端口。

docker run -itd --shm-size=6G --privileged -e TCAPLUS_CONTAINER_OMS_PASSWORD='tcaplus' -p 80:80 -p 9999:9999 -p 13755-13765:13755-13765 --name test tcaplusdb-local:3.53.1

查看进程是否正常启动

进程启动需要一定时间,需要等待 10-40s。出现 "Run Success" 字样表示启动成功。

undefined

docker logs test

访问TcaplusDB OMS

因为后续需要用到浏览器,为了方便所以使用图形界面。在左侧“实验资源”的CVM中点击“桌面连接”,进入图形界面。点击左上角的“所有应用程序”,选择“应用程序-互联网-Firefox”,打开浏览器,

输入地址:

${runtime.vars.cvmIpAddress}:80

回车进入控制台,输入账号密码。

img

登录账号

tcaplus

登录密码, 容器创建时 TCAPLUS_CONTAINER_OMS_PASSWORD 参数指定,如:

tcaplus

查看系统各组件是否正常启动

点击运维平台-集群状态,如果出现如图所示,所有组件都显示正在运行N 停止或其他0说明启动成功,否则需要等待一段时间直到所有组件都正常启动。

undefined

undefined

创建表格1

在OMS菜单栏打开:业务管理-表管理,在进入的页面 Tab 栏处选则表添加

undefined

undefined

创建表格2

TcaplusDB docker版已创建好业务和集群,选中业务和集群并勾选出来的游戏区, 业务:tdr_app(2),集群:test_set(1), 游戏区ID: 3, 再点击:批量新增表

undefined

创建表格3

在出来的页面中,浏览页面底部部分,点击从本地文件中添加,在弹出的页面(/root/桌面)中选择表定义文件: table-define.xml,点击提交即可创建3张示例表: user, server, mail。

(表定义文件table-define.xml也可在 Chrome 浏览器打开表定义文件,右键网页,另存为文件的方式下载)

undefined

创建表格4

进入业务管理-表管理,选择对应的业务 (tdr_app) 及游戏区 (3) , 查看是否出现user, server, mail 表信息

undefined

创建 mail 表的全局索引1

  • 在菜单栏打开业务管理-表管理,单击 mail 表(集群:test_set(1), 业务:tdr_app(2), 游戏区ID: 3),勾选mail表,点击批量创建索引,打开创建索引页面(见下图);

undefined

  • 在索引创建页面,勾选 user_idserver_idmail_idstate, from, subject 字段;

  • 在索引创建页面最下方,单击“确认创建索引”按钮,创建索引。

undefined

创建 mail 表的全局索引2

在菜单栏打开业务管理-单据受理查询,可看到表索引单据待审核状态。

undefined

undefined

创建 mail 表的全局索引3

勾选待审核单据,点击批量审核申请表,点击确认,可看到待审批单据状态变为已审核并提交事务

undefined

undefined

undefined

拷贝数据库配置参数

不要关闭浏览器,点击左上角的所有应用程序,选择应用程序-文件管理器,打开文件夹,右击创建一个空文件。

undefined

在菜单栏打开业务管理-业务维护,点击查看密码,拷贝密码到刚刚创建的文件中。

undefined

undefined

在菜单栏打开业务管理-业务维护,点击查看目录服务器,拷贝服务器地址到刚刚创建的文件中。

undefined

配置JDBC示例的数据库参数

JDBC示例和脚本可点此下载,实验环境已下载并解压好。在桌面连接”页面点击左上角的“所有应用程序,打开文件管理器,打开tcaplusdb-demo/com/tencent/tcaplus/jdbc/Demo.java并编辑数据库连接参数,参数可在刚刚创建的临时文件中获取。

如下图所示,修改 DIR_HOST(目录服务器地址) 以及APP_PASSWORD(密码),点击右上角保存

undefined

修改JDBC示例

点击左侧实验资源,单击登陆进入命令行。

undefined

点击打开 Demo.java 文件进行编辑:

取消示例代码中的注释,如想测试 INSERT 语句,可以取消 insert(); 前面的注释。

insert() 等方法中,预置了一些 SQL 语句,取消注释后,可直接体验,也可根据需要自行修改 insert() 等方法中的测试代码,体验其它 SQL 语句。

// 插入数据
insert();
?
// 更新数据
// update();
?
// 删除数据
// delete();
?
// 根据主键查询
// selectWithPrimaryKey();
?
// 根据全局索引查询
// selectWithIndex();

运行JDBC示例

修改Demo.java后保存,在模拟终端使用以下命令执行示例代码,并查看相关信息

cd /root/
sh tcaplusdb-demo-run.sh

自由操作TcaplusDB JDBC示例

现在,你可以自由修改JDBC示例并执行示例代码

启动TcaplusDB Console

TcaplusDB Console 是由 sqlline + tcaplusdb jdbc driver 实现。

TcaplusDB Console 可用于交互式的 SQL 查询。

  • 启动 console

    在模拟终端输入如下命令启动console。

cd /root/
sh tcaplusdb-console.sh
  • 建立连接

    在 TcaplusDB Console 输入 !connect 命令,建立连接。参数信息详见“ 配置JDBC示例的数据库参数”,均可在web控制台的”业务管理-业务维护“的tdr_app(2)查看密码查看目录服务器找到。

    1. x.x.x.x为目录服务器 Dirsvr 的 IP。

    2. 9999为目录服务器 Dirsvr 的默认端口,如果不是,请改为实际端口。

    3. app_id 为业务ID,请填写实际的值。

    4. app_password 为业务密码,请填写实际的值。

    5. zone_id 为游戏区ID,请填写实际的值。

    6. 用户名密码此处固定为 demo,不用修改。

!connect jdbc:tcaplusdb://x.x.x.x:9999?app_id=2&app_password=****&zone_id=3 demo demo

使用TcaplusDB Console

  • 查看表信息

    在 TcaplusDB Console 输入!tables 命令,查看数据库中的所有表的基本信息。

!tables
  • 执行SQL

    在 TcaplusDB Console 输入!sql sql语句,执行 SQL 语句。

    可参考 tcaplusdb-demo/com/tencent/tcaplus/jdbc/Demo.java 中的 SQL 语句,注意:如果直接使用Demo.java中的sql语句,注意去掉转义符。

  !sql SELECT * FROM "user" WHERE user_id='10000';
  • 退出 Console

    在 TcaplusDB Console 输入!quit命令,退出 Console。

!quit

自由操作TcaplusDB Console

现在你可以使用 TcaplusDB Console 自由操作数据库。


更多信息请关注TcaplusDB微信公众号,风里雨里,我们一直在等你!

img

TcaplusDB是腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。