apache-hive / 3.1.1 / reference / Hive_PTest2_Infrastructure.html

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/

  • 相关的 JIRA:HIVE-4675HIVE-4739

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