利用jepsen进行tidb测试的实验环境配置问题

配置步骤

1. 首先从github上下载jepsen的源代码,地址:https://github.com/jepsen-io/jepsen

2. 这里推荐利用docker-compose来安装实验环境,其目录为jepsen/docker在其中运行./up.sh --dev 命令,会拉取如下图所示的image和创建6个容器:

利用jepsen进行tidb测试的实验环境配置问题

利用jepsen进行tidb测试的实验环境配置问题

 3. 然后通过docker exec –it jepsen-control bash命令进入控制节点,因为在启动时使用了--dev命令,所以在控制节点中jepsen目录内拥有很多测试内容,如下图所示:

利用jepsen进行tidb测试的实验环境配置问题

4. 在tidb目录下有一些别人写好的测试样例,可以通过修改这些样例来实现需要的测试场景。

 

可能遇到的问题

1. 创建image的时候,有些文件下载不下来

这是因为网络的问题,有些文件是依托于某些平台的,这里需要网络足够强大

2. 在跑tidb测试的时候,第一次创建容器需要下载tidb的安装包,因为网络问题,可能会出现安装包没有下载完成的情况

这时可以进入没有下载完成的jepsen-node,在/opt路径下通过wget来下载对应的tidb源码,然后解压成tidb目录

3. 在跑测试的过程中,异常注入恢复需要同步机器的时间,jepsen采用的时间信息来自于time.google.com,如果网络无法访问就会报错然后测试终止

这里也需要网络足够强大,如果网络不足够强大,也可以修改jepsen的代码,将time.XXXXX.com改为可以访问的ntp.ubuntu.com

综上所述,这些问题最好的解决方法是网络足够强大的服务器。我们的服务器配置如下图所示,可以选用自带docker的服务器,然后安装docker-compose就可以使用了。

利用jepsen进行tidb测试的实验环境配置问题