On this page
Hive PTest2 基础架构
Background
配置单元构建作业包括Hive PreCommit 测试和带有各种标志的各个分支的计划构建。它们在 Hive PTest2 基础架构上运行,该基础架构是 Cloudera 当前赞助的 EC2 集群。 Hive PTest2 Infra 按 Sequences 运行每个构建,但是将测试分散到群集的所有资源上,以实现更高的吞吐量。
Location
基础结构主机位于 ec2-174-129-184-35.compute-1.amazonaws.com。可以通过请求授予提交者对此主机的访问权限,请参阅HIVE-4739。
Processes
基础结构主机托管两个过程:
Jenkins: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/
这是 Hive 版本的 Management 员。仪表板显示构建队列的状态,过去构建的测试结果等。
构建可以在仪表板 UI 中手动提交,也可以通过补丁程序上载自动提交(请参见Hive PreCommit 测试),也可以通过 Jenkins 时间表自动提交(分支构建)。
Hive PTest2 Web 服务器
公开 REST API 以接受来自 Jenkins 构建的测试请求。每个请求都指定一个配置文件属性文件,该文件包含一组属性,例如要构建的分支和要运行的测试。
根据测试要求:
创建 EC2 从站,这些从站是实例。
读取指定的属性文件并使用它编译 Hive。
在 EC2 从站之间分布已编译的工件,进行 SSH 调用以并行远程运行测试,并收集结果。
-
- 如果 30 分钟内没有进一步的测试请求,则将关闭从站。
Jenkins Configuration/Debug
Jenkins 日志:/var/log/jenkins/jenkins.log
Jenkins 配置:/ etc/sysconfig/jenkins
詹金斯家:/ var/lib/jenkins(职位信息位于/ var/lib/jenkins/jobs)
Hive PTest2 WebServer 配置/调试
测试日志:http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/(重定向到/ data/hive-ptest/logs /)
配置文件属性文件:/ usr/local/hiveptest/etc/public /
Web 服务日志:/home/hiveptest/apache-tomcat-7.0.41/logs/
工作目录:/ data/hive-ptest/working /(存储库,源代码等的位置)
Scripts: /usr/local/hiveptest/bin/
FAQ:
如何重新启动 Jenkins?
sudo 服务詹金斯重启
如何设置新的分支机构?
登录到构建机器,转到/ usr/local/hiveptest/etc/public,以\ {}的形式创建新的配置文件属性,其中“ newprofile”是新配置文件的名称。最简单的方法是复制现有的文件,例如用于运行预提交测试的“ trunk-mr2.properties”。
在新的配置文件属性中,将新的配置文件中的“ repository”属性设置为指向新分支,并将“ repository-name”属性设置为任何唯一值(将用作签出代码的目录名称)。相应地设置任何其他属性,因为它们将由 jenkins 构建调用。
在 Jenkins 中,通过从现有作业复制模板来创建新作业。
在新的 Jenkins 作业中,进入构建配置,修改 Hive PTest2 WebServer 调用中的配置文件参数(如下所示:“ java ... org.apache.hive.ptest.api.client.PTestClient --profile trunk-mr2 “)指向新的配置文件,即(” java ...- profile newprofile)。
如何阅读或更改 Hive PTest2 基础代码?
代码位于 Hive git 存储库中。它在/ hive/testutils/ptest2 下。由于 Hive PTest2 WebServer 是一个正在运行的进程,因此,如果进行了更改,则需要重新启动它。
如何停止,启动,重新启动 Hive PTest2 WebServer 或使用最新的测试基础代码?
$ sudo /usr/local/hiveptest/bin/stop-server.sh
$ sudo /usr/local/hiveptest/bin/start-server.sh
$ sudo /usr/local/hiveptest/bin/restart-server.sh
$ sudo /usr/local/hiveptest/bin/update.sh