...
Bigtop builds components in containers based on target target ${OS}-${ARCH}
docker images.
At present Bigtop supports those $those ${OS}-${ARCH}
combinations combinations offcially
Code Block | ||
---|---|---|
| ||
centos-6 OS: debian-8 debian-9 fedora-25-ppc64le ubuntu-1416.04 centos-7 fedora-26 ubuntu-16.04 ubuntu-16.04-ppc64le centos-7 debian-8-aarch64 fedora-25 opensuse-42.1 ubuntu-14.04-ppc64le ubuntu-16.04-aarch64opensuse-42.3 ARHC: x86_64 ppc64le aarch64 |
Before going to build stage, target OS/arch combination docker images, bigtop/puppet
and bigtop/slaves
should be created. If not, please refer Create build images
Build
Brief
Bigtop uses gradle to build and package components.
...
- clean: clean up build
- pkg: create tarball package
- deb: create deb package
- rpm: create rpm package
Here is an example:
Code Block | ||
---|---|---|
| ||
./gradlew hadoop-clean # clean existing hadoop build outputs ./gradlew hadoop-pkg # build and create hadoop release tarball ./gradlew hadoop-deb # build and create hadoop release deb package. Note: pkg will also be created ./gradlew hadoop-rpm # build and create hadoop release rpm package. Note: pkg will also be created |
...
The recommend build process is to use docker container from target OS-ARCH image to build specified components.
Here is an example for to build hbase for ubuntun-16.04/aarch64 platform ( {{BIGTOP_SRC_TOP
}} is thetop is the top of cloned bigtop source dir):
Code Block | ||
---|---|---|
| ||
$ cd ${BIGTOP_SRC_TOP} $ docker images # check if required bigtop/slaves:trunk-ubuntun-16.04-aarch64 is present REPOSITORY TAG IMAGE ID CREATED SIZE bigtop/slaves trunk-ubuntu-16.04-aarch64 eb812af63515 7 hours ago 3.039 GB bigtop/puppet ubuntu-16.04-aarch64 82ef2c36b6e6 7 hours ago 311.5 MB aarch64/ubuntu 16.04 a7d1ddc47ced 12 weeks ago 109.7 MB $ docker run --rm -v `pwd`:/ws bigtop/slaves:trunk-ubuntu-16.04-aarch64 bash -l -c 'cd /ws ; ./gradlew hbase-deb' |
...