写点什么

【深入理解 TcaplusDB 技术】如何准备部署 TcaplusDB Local 版?

作者:数据人er
  • 2022 年 5 月 16 日
  • 本文字数:3419 字

    阅读完需:约 11 分钟

【深入理解TcaplusDB技术】如何准备部署TcaplusDB Local 版?

【深入理解 TcaplusDB 技术】如何准备部署 TcaplusDB Local 版?

1. 版本介绍

TcaplusDB Local 版,是为用户提供的一个满足本地开发调试的版本(基于 Docker 部署的可下载版本),相比腾讯云 TcaplusDB 版,本地版可以方便用户在无法连通云环境的开发环境进行代码调试,同时在功能上和腾讯云版本无差别。此文档主要介绍用户如何在本地开发环境部署 TcaplusDB 本地 Docker 环境。


部署过程中如遇到问题,可先查阅7. 常见问题列表,列表没有解决方案时,可联系 TcaplusDB 团队协助解决。

2. 版本兼容性说明<div id="2"></div>

目前已经在下列环境做过兼容性测试,建议尽量在进行过兼容性测试的环境上部署 TcaplusDB 的 Local 版。



TcaplusDB Local 版,要求是在 Linux 环境以 Docker 容器的方式运行,如果机器为 Windows 或者 MAC,则先在这些系统上运行 Linux 虚拟机或者 WSL(Windows),再在虚拟机中拉起 Docker 容器。


在未进行兼容性测试的环境部署 TcaplusDB Local 版,可能会出现一些未知兼容性问题。

3. 版本部署环境要求

  • 部署机器的 CPU 应当不少于 4 核,内存总容量不少于 8G,启动 TcaplusDB Local 版容器之前,内存的空闲容量不少于 6G。

  • 部署机器磁盘大小建议 100G,存放 Docker 容器的磁盘可用空间应当大于 50GB。

  • 部署机器需要提前安装 Docker。

  • 创建 Docker 容器的用户必须具有通过 sudo 执行 docker 命令的权限。

  • 部署机器应当关闭了 SELinux。

  • 如果部署机器是 Windows + WSL2,则应当正确设置 vsyscall,设置方法参见附件3

  • 如果部署机器是 Debian(或者 Debian 虚拟机),则应当正确设置 vsyscall,设置方法参见附件4

4. 版本部署

4.1. 部署环境检查和准备

下载环境扫描脚本。


wget https://tcaplus-tools-1301716906.cos.ap-guangzhou.myqcloud.com/tcaplus_tools.sh
复制代码


运行环境扫描脚本,扫描环境资源,并检查是否满足 TcaplusDB Local 版最低运行要求。


sh tcaplus_tools.sh check_environment
复制代码


环境扫描结果样例:


Environment Information:     OS                        : Tencent tlinux release 2.2 (Final)    CPU Arch                  : x86_64    CPU Cores                 : 8    Memory Total (MB)         : 15787    Memory Free (MB)          : 1025    Memory Cached (MB)        : 4542    Disk Free (MB)            : 15787    Docker Version            : Docker version 18.09.7, build 2d0083d    LDD Version               : ldd (GNU libc) 2.17    GCC Version               : gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)    G++ Version               : g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)    Go Lang Version           : Not found    Java Version              : Not found    Python Version            : Python 2.7.5    SELinux Setting           : Disabled
复制代码


环境扫描结果各项指标参考值:



TcaplusDB 的一些进程依赖于 mdadm, 如果部署机器默认没有安装,就需要手动安装一下。


#centosyum install -y mdadm#debianapt-get updateapt-get install -y mdadm
复制代码

4.2. 检查 Docker 是否启动

登录部署机器。


检查 Docker 服务是否安装并已正常启动。Docker 的安装参见附录1


# 查看Docker服务状态,检查服务是否已经启动sudo service docker status
# 启动Docker服务命令sudo service docker start
复制代码

4.3. 下载并导入 Local 版镜像

下载 TcaplusDB Local 版镜像。


wget https://tcaplus-docker-1301716906.cos.ap-guangzhou.myqcloud.com/tcaplusdb-local-3.53.1.tar.gz
复制代码


导入 TcaplusDB Local 版镜像到本地 Docker 镜像库。


sudo docker load -i tcaplusdb-local-3.53.1.tar.gz
复制代码


查看本地 Docker 镜像库,检查镜像是否导入成功。


sudo docker images
复制代码


本地 Docker 镜像库,如出现对应的镜像信息,即表示导入成功。


REPOSITORY                                               TAG                 IMAGE ID            CREATED             SIZEtcaplusdb-local                                          3.53.1              34c03389c8d3        3 days ago          6.74GB
复制代码

4.4. 创建 Local 版容器

容器创建命令样例:


sudo docker run -itd --shm-size=2G --privileged -e TCAPLUS_CONTAINER_PUBLIC_IP="x.x.x.x" -e TCAPLUS_CONTAINER_OMS_PASSWORD="***" -p 80:80 -p 9999:9999 -p 13755-13765:13755-13765 --name test tcaplusdb-local:3.53.1
复制代码


客器启动参数说明:



更多容器参数及说明参见:


sudo docker run --help
复制代码


容器创建后会自动启动 TcaplusDB 服务,此时可通过“docker logs”命令查看服务启动日志,以了解服务启动进度和状态,通常服务的启动时间大约为 30 秒。


当容器启动日志最后出现“Run Success”字样时,即表示服务已经启动成功,可提供服务了。


sudo docker logs 容器名
复制代码

4.5. 进入 Local 版容器

如果有需要进入容器查看信息或者定位问题,可执行下面的命令进入。


sudo docker exec -it 容器名 /bin/bash
复制代码

4.6. 停止 Local 版容器

如果容器使用完毕,需要暂时关闭,释放资源,可以执行下面的命令关闭。


sudo docker container stop --time=60 容器名
复制代码


注意,由于 TcaplusDB 进程退出需要一定时间,如果强制关闭,会导致数据引擎文件损坏,进而影响容器的再次启动。这里需要指定显示指定关闭超时时间为 60 秒,防止 TcaplusDB 进程还没正常关闭退出,就被 Docker 强制杀死的情况(Docker 默认关闭超时时间 10 秒,时间到了之后,容器如果还未关闭退出,就会被强制关闭)。

4.7. 启动 Local 版容器

针对已经关闭的容器,如果想再次拉起服务,可以执行下面的命令启动。


sudo docker container start 容器名
复制代码

4. 版本测试

版本部署完成后,可通过 SDK,OMS 等方式连接 TcaplusDB,进行数据读写或者集群管理。


TcaplusDB Local 版默认创建了测试业务,游戏区和表,可登录 Tcaplus OMS 查看相关信息。

4.1. 通过 OMS 运维连接

此部分请参考:使用TcaplusDB OMS控制台


OMS 的登录地址为 http://<host>:<port>。基中 host 为 TCAPLUS_CONTAINER_PUBLIC_IP(如果有指定)或者母机的 IP。port 为容器的 80 端口映射到母机的端口号。


登录 OMS 的默认用户名为 tcaplus,密码为启动容器的时候指定的 TCAPLUS_CONTAINER_OMS_PASSWORD 参数值。

4.2. 通过 SDK 方式连接

此部分请参考: TcaplusDB入门

5. 版本下载

6. 附录

6.1. 安装 Docker<div id="6-1"></div>

Docker 安装一般通过系统命令来安装,如 yum、apt-get 等,以 CentOS7 举例,安装方式如下:


# CentOS 7环境,CVM实例yum install -y docker
# Debian 8.2环境apt-get updateapt-get install -y docker-ce containerd.io
# CentOS 8环境,CVM实例,用dnf来安装dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repodnf repolist -vdnf list docker-ce --showduplicates | sort -rdnf install docker-ce --nobest
复制代码


注意:在安装 Docker 过程中,注意镜像源的配置,可参考网上相关文档资料,配置成国内镜像源。


安装完 Docker 之后,可以用 docker 命令检查是否安装成功。


安装成功,则执行如下命令启动 docker 服务。


# 启动Docker服务sudo service docker start
复制代码

6.2. 关闭 SELinux<div id="6-2"></div>

查看 SELinux 状态。


getenforce
复制代码


临时关闭。


setenforce 0
复制代码


永久关闭。编辑/etc/selinux/config 文件,设置 SELINUX=Disabled,重启机器。

6.3. 设置 vsyscall(Windows + WSL2)<div id="6-3"></div>

在 Windows 10 操作系统的系统盘- 用户 - <用户名>目录下,修改.wslconfig 文件(如 C:\Users\test\.wslconfig),若没有这个文件,则需要先创建。


在其中修改/添加如下内容:


[wsl2]kernelCommandLine = vsyscall=emulate
复制代码

6.4. 设置 vsyscall(Debian)<div id="6-4"></div>

参见说明

6.5. 容器内监听的端口及说明<div id="6-5"></div>

6.6 创建 Docker 网络<div id="6-6"></div>

执行下面的命令创建 Docker 网络。


sudo docker network create --driver=bridge --subnet=192.168.10.0/24 subnet_192_168_10
复制代码


  • 192.168.10.0/24 为 Docker 网络网段及掩码定义。

  • subnet_192_168_10 为 Docker 网络名,创建容器命令中--network 后面带的就是这个网络名。

7. 常见问题<div id="7"></div>

参见常见问题文档。





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

用户头像

数据人er

关注

还未添加个人签名 2021.03.09 加入

还未添加个人简介

评论

发布
暂无评论
【深入理解TcaplusDB技术】如何准备部署TcaplusDB Local 版?_数据库_数据人er_InfoQ写作社区