对Hadoop进行打包,分发和测试的工具:Apache Bigtop 介绍
jopen
10年前
Bigtop 是一个工程的系统开发包,对Apache Hadoop生态系统的测试。
Bigtop的主要目标就是构建一个Apache Hadoop生态系统的包和交互式测试的社区。这个包括对各类不同级别工程进行测试(包,平台,运行时间,升级等...),它由社区以关注系统作为一个整体开发而来。
构建Bigtop
包能够被构建在Ubuntu 10.10, CentOS 5/6, Fedora 18, Mageia 1 和12.1, 它们也同样能够在其它平台被构建。
构建的前提是有下列工具包:
- Java JDK 1.6
- Apache Ant
- Apache Maven
- wget
- tar
- git
- subversion
- gcc
- gcc-c++
- make
- fuse
- protobuf-compiler
- autoconf
- automake
- libtool
- sharutils
- asciidoc
- xmlto
On RPM-based systems one also needs
- lzo-devel
- zlib-devel
- fuse-devel
- openssl-devel
- python-devel
- libxml2-devel
- libxslt-devel
- cyrus-sasl-devel
- sqlite-devel
- mysql-devel
- openldap-devel
- rpm-build
- createrepo
- redhat-rpm-config (RedHat/CentOS only)
在基于DEB系统也需要:
- libxslt1-dev
- libkrb5-dev
- libldap2-dev
- libmysqlclient-dev
- libsasl2-dev
- libsqlite3-dev
- libxml2-dev
- python-dev
- python-setuptools
- liblzo2-dev
- libzip-dev
- libfuse-dev
- libssl-dev
- build-essential
- dh-make
- debhelper
- devscripts
- reprepro
连续集成(Continuous Integration)
Apache Bigtop 使用Jenkins作为CI(continuous integration)测试(您能够学习到更多有关Jenkins). 当前有2台Jenkins服务器运行这个工程。
无论什么时候有代码提交到trunk branch里,Apache Jenkins服务器会运行“Bigtop-trunk”作业,交流地运行几个测试作业。
Bigtop Jenkins服务器每天运行0.3和trunk branch的作业,对于支持的操作系统,每个作业(job)都有一个配置。在任何一个branch中,有一个作业来构建它的组件,一个作业运行包测试,另一个构建包仓库。那儿也有任务构建虚拟机镜像(Images),同样也会有2个最近发布的版本和其它综合任务(tasks)为了不同的RCs和测试。比如:
- Bigtop-trunk-All: 为trunk branch 运行所有的作业 。
- Bigtop-trunk-HBase: 仅仅构建HBase包。
- Bigtop-trunk-packagetest: 运行包测试|。
- Bigtop-trunk-repository: 构建一个APT和YUM的包仓库。
- Bigtop-0.5.0: 构建0.5.0的版本
- Bigtop-VM-matrix: 为KVM, VMWare和VirtualBox构建branch trunk和 0.3 的虚拟机。