腾讯事务处理技术验证系统3TS-Coo模块的项目环境安装使用说明
本篇文章将详细说明3TS-Coo模板的安装和使用,帮助您快速上手项目
第一部分是简单的基础Docker相关概念,精炼的几句小白话快速理解即可;
第二部分是快速安装项目环境的安装文档,简单几行命令搞定,小白也能轻松上手;
第三部分是对于已经安装的项目环境的简单使用的说明文档;
项目地址: https://github.com/Tencent/3TS/tree/coo-consistency-check/
1、为什么使用Docker?
正常下载安装3ts_coo的各种依赖,编译再到使用效率太低,同样的项目代码配置环境会出各种各样、千奇百怪、意想不到的问题,因此制作了该项目的镜像文件并部署,之后任何平台一键安装了Docker环境以后都可以再一键拉取这个镜像文件使用,也就得到了项目的环境。
2、使用Docker部署环境会增加学习成本吗?
不会,你只需要电脑上安装了Docker,都可以一键拉取镜像,然后运行容器即可,在容器中就像在正常的Linux中使用命令行操作即可,了解一点点概念,记住每次进入退出的命令并不难,安装卸载都很简单一键傻瓜操作就行。
一、快速了解基础概念
Docker是一个应用打包部署的工具基本概念如下:
镜像:一个模板,可以理解为软件安装包 或者 类
容器:模板的实例化,可以理解为安装后独立运行的软件 或者 类的实例化对象
仓库:存储各种各样的镜像,可以理解为应用商店 或者 包管理器
打包:把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包
分发:打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装
部署:用“安装包”可以一个命令运行起来你的应用,跨平台自动模拟出一模一样的运行环境
Docker菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html
二、项目环境安装文档
Step1、安装Docker
1、脚本安装(推荐)
未安装过Docker的机器上,root权限执行以下命令一键安装最新版Docker(推荐),旧版本可以一键卸载
curl -s https://get.docker.com/ | sh
sudo apt purge --autoremove docker.io
ps: 据说Docker-compose的安装集成到上面这个脚本一起了?docker-compose -v 检查一下,没有的话执行下面这个脚本一键安装便是,无非多cv一个命令运行;
容器管理器docker-compose采用Python开发所以需要先安装pip(Python环境一般默认都装了)
curl -s https://bootstrap.pypa.io/get-pip.py | python3
pip install docker-compose
2、包管理器安装
不想使用脚本也可以使用系统自带包管理工具安装
sudo apt-get update
sudo apt-get install docker
# 先安装pip3再安装docker-compose
sudo apt-get install python3-pip
pip3 install docker-compose
Docker是一个系统服务,安装完可能需要手工启动服务(脚本安装不需要)
service start docker
3、手动安装
Docker分为CE版本和EE版本,其中CE版本面向开源社区,是免费软件,选CE即可。
手动安装官方文档:https://docs.docker.com/engine/installation/
Step2、拉取镜像启动项目环境
1、获取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/open_projects/3ts_coo:1.0
2、启动容器
先 Docker images
查看一下镜像是否拉取成功,然后使用镜像ID启动容器
docker run -it 镜像id /bin/bash
3、查看、进入、退出容器(日用高频,建议谨记)
# 查看所有容器
docker ps -a
# 根据容器id ,进入想要的容器环境
docker exec -it 容器id /bin/bash
# 退出容器终端
exit
(扩展)4、启动、停止、重启容器
docker start <容器 ID>
docker stop <容器 ID>
docker restart <容器 ID>
(扩展)5、打包容器
# 1、将容器打包成镜像,执行docker commit;
docker commit 容器id 容器名:版本
# 2、将镜像保存为本地文件,可以使用Docker save命令
docker save -o mssql-2019-with-cimb.tar mssql-2019-with-cimb
# 3、从文件载入镜像
docker load --input mssql-2019-with-cimb.tar
三、项目环境使用说明
启动容器,进入项目环境后情况如下(重点关注画线文件):
3ts_coo模块主要是检查数据事务的一致性,项目环境搭建好后想测试任何数据库都可以,但是作为入门这里默认配置了PostgreSQL,键入以下命令启动
/etc/init.d/postgresql start
isql pg -v
可以键入该命令检查一下是否数据库连接成功,出现下图即连接成功;
Step1、编辑 do_test_list.txt
文件选择你想要测试的异常用例;
Step2、编辑 autorun.sh
选择你想要测试的数据库和隔离级别后./autorun.sh
,大工告成等着看结果吧!
注意1:Step2中省略了配置数据库用户名和密码,默认配置了postgresql的用户名和密码;
注意2:脚本的使用有两个版本./autorun.sh
是V1版,配置v1版数据库用户名和密码即可;
注意3:auto_test.sh和auto_test_all.sh都是已经废弃无用的脚本可以删除;
项目的安装一键搞定,项目的使用两步搞定,是不是很轻松?当然,如果你想要测试别的数据库,这里也提供一些可能的建议;
1、安装你想测试的数据库
2、安装你想测试的数据库连接器
3、配置odbc.ini
和odbcinst.ini
文件,isql pg -v
检查连接成功即可
4、修改./autorun.sh
数据库用户名和密码
5、特殊数据库需要做相应的适配;
最后的最后,回顾总结一下,本篇文章除了简单介绍docker的基础概念与安装和使用搭建了3ts项目环境,还详细的针对3TS_Coo的项目环境使用进行了说明,对于结果的解读与深入理解和'./autorun.sh
的两个版本问题将在下篇文章中发布。
-- 2023/09/11 0:50
腾讯事务处理技术验证系统3TS-Coo模块的项目环境安装使用说明的更多相关文章
- legend3---Windows 7/8/10 系统下Laravel框架的开发环境安装及部署详解(Vagrant + Homestead)
legend3---Windows 7/8/10 系统下Laravel框架的开发环境安装及部署详解(Vagrant + Homestead) 一.总结 一句话总结: 1.安装的话就是下载好git,va ...
- Scala系统学习(二):Scala开发环境安装配置
Scala可以安装在任何基于UNIX/Linux或基于Windows的系统上.在您的机器上开始安装Scala之前,必须在计算机上安装Java 1.8或更高版本. 下面请按照以下步骤安装Scala. 步 ...
- Windows 7/8/10 系统下Laravel框架的开发环境安装及部署详解(Vagrant + Homestead)
注意! laravel/homestead box项目地址已经不再是原来的 https://atlas.hashicorp.com/laravel/boxes/homestead 而已经变更成 htt ...
- 景区3D指纹验证系统解决方案
旅游业已成为全球经济中发展势头最强劲和规模最大的产业之一.旅游业在城市经济发展中的产业地位.经济作用逐步增强,旅游业对城市经济的拉动性.社会就业的带动力.以及对文化与环境的促进作用日益显现.指纹门票为 ...
- 公共交通3D指纹验证系统解决方案
为了响应国家关于老年人的优待政策,华本研发了退休老人乘公交车指纹认证系统.指纹认证系统不仅方便老人乘坐公交,还能为公共部门减压,杜绝伪造优待证乘坐公交的不法行为. 目前,优待证都是人工检查,缺乏有效的 ...
- html5 app开发重大消息-腾讯在技术端推进Html5生态发展
中新网5月3日电 日前,腾讯正式发布腾讯浏览服务(Tencent Browser Service,以下简称TBS),宣布为合作伙伴提供整合腾讯底层技术.内容框架.广告体系以及大数据等多方面能力的升级浏 ...
- 让你一分钟认识电子身份验证系统EID
什么是EID eID是英文"Electronic Identity"的英文简称,中文名为"电子身份证"或"网络电子身份证",由公安部第三研究 ...
- GitHub开源:升讯威微信营销系统(第三方微信平台)完整源代码
GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction 升讯威微信营销系统开发实践系列升讯威微信营销系统开发实践:(1)功能设计与架构设 ...
- 让互联网更快:新一代QUIC协议在腾讯的技术实践分享
本文来自腾讯资深研发工程师罗成在InfoQ的技术分享. 1.前言 如果:你的 App,在不需要任何修改的情况下就能提升 15% 以上的访问速度,特别是弱网络的时候能够提升 20% 以上的访问速度. 如 ...
- 升讯威微信营销系统开发实践:(3)功能介绍与此项目推广过程的一些体会( 完整开源于 Github)
GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction因为个人精力时间有限,不会再对现有代码进行更新维护,不过微信接口比较稳定,经测试至 ...
随机推荐
- 「高频面试题」Redis的持久化方式有哪些?
RDB RDB(Redis DataBase)持久化是把当前Redis中全部数据生成快照保存在硬盘上.RDB持久化可以手动触发,也可以自动触发.save和bgsave命令都可以手动触发RDB持久化.除 ...
- 强国杯南部西部赛区分区晋级赛WP
Misc 空白文件 解压的文件,通过kali strings 查看到base64加密,把%7B换成'{',%7D换成'}' 迷惑的时间 导出3.jpg原始数据信息 去掉没用的头部信息,得到3.jpg图 ...
- CKS 考试题整理 (15)-镜像扫描ImagePolicyWebhook
Context cluster 上设置了容器镜像扫描器,但尚未完全集成到cluster 的配置中. 完成后,容器镜像扫描器应扫描并拒绝易受攻击的镜像的使用. Task 注意:你必须在 cluster ...
- navicate的安装使用
1 navicat概述 Navicat for MySQL 是管理和开发 MySQL 或 MariaDB 的理想解决方案. 这套全面的前端工具为数据库管理.开发和维护提供了一款直观而强大的图形界面. ...
- 一文读懂什么是AIGC?
目录 AIGC概念 AIGC发展历史 在早期萌芽阶段(1950s~1990s) 在沉淀累积阶段(1990s~2010s) 在快速发展阶段(2010s~至今) ChatGPT AIGC能做什么? 电子商 ...
- 兰姆达 x AnayticDB 降本30%的数据湖最佳实践
1. 客户介绍 上海兰姆达数据科技有限公司(简称"兰姆达数据")是一家提供卓越的数据科学软件产品和解决方案的初创高科技公司.兰姆达核心团队专注于大数据,机器学习算法和精准营销Saa ...
- 暗黑王者|ZEGO 低照度图像增强技术解析
在低光照的夜间,摄像头采集的画面通常是一片昏暗,画面清晰度要远远低于肉眼.而随着实时音视频应用技术的发展,我们已经看到了各种画质增强的视频增强技术,那么是否存在一种技术,可以使视频在低光照条件下看起来 ...
- Hexo博客Next主题阅读次数热度不能读取的问题,报错Counter not initialized! More info at console err msg.
加入valine在线评论 设置效果: 设置方法: 首先要先去LeanCloud注册一个帐号.然后再创建一个应用. 拿到appid和appkey之后,打开themes/next/_config.yml主 ...
- iptables防火墙调试,想打印个日志就这么难
背景 怎么会讲这个话题,这个说来真的长了.但是,长话短说,也是可以的. 我前面的文章提到,线上的服务用了c3p0数据库连接池,会偶发连接泄露问题,而分析到最后,又怀疑是db侧主动关闭连接,或者是服务所 ...
- zabbix web 打开 lastest data 显示空白,http 返回 500
问题 当在zabbix web 的 lastest data 界面上进行一个超大查询(没有限定主机)时,可能因为查询过大,超出了php-fpm进程的内存限制,而导致该界面卡住.(此后打开均无显示,F1 ...