hbase/dev-support/hbase_docker
Peter Somogyi 61450b2354 HBASE-21711 Remove references to git.apache.org/hbase.git 2019-01-16 10:04:13 +01:00
..
Dockerfile HBASE-21711 Remove references to git.apache.org/hbase.git 2019-01-16 10:04:13 +01:00
README.md HBASE-14087 Ensure correct ASF headers for docs/code 2015-07-29 14:25:43 -05:00

README.md

hbase_docker

Overview

The Dockerfile in this folder can be used to build a Docker image running the latest HBase master branch in standalone mode. It does this by setting up necessary dependencies, checking out the master branch of HBase from GitHub, and then building HBase. By default, this image will start the HMaster and launch the HBase shell when run.

Usage

  1. Download x64 .tar.gz files of the Oracle JDK and Apache Maven and place them in this folder (i.e. both tarballs must be in the same folder as the Dockerfile). Also note that the Dockerfile will properly pick up the tarballs as long as the JDK file has "jdk" in its name and the Maven file contains "maven". As an example, while developing this Dockerfile, my working directory looked like this:

    $ ls -lh
    total 145848
    -rw-r--r-- 1 root root   6956162 Sep  3 15:48 apache-maven-3.2.3-bin.tar.gz
    -rw-r--r-- 1 root root      2072 Sep  3 15:48 Dockerfile
    -rw-r--r-- 1 root root 142376665 Sep  3 15:48 jdk-7u67-linux-x64.tar.gz
    -rw-r--r-- 1 root root      1844 Sep  3 15:56 README.md
    
  2. Ensure that you have a recent version of Docker installed from docker.io.

  3. Set this folder as your working directory.

  4. Type docker build -t hbase_docker . to build a Docker image called hbase_docker. This may take 10 minutes or more the first time you run the command since it will create a Maven repository inside the image as well as checkout the master branch of HBase.

  5. When this completes successfully, you can run docker run -it hbase_docker to access an HBase shell running inside of a container created from the hbase_docker image. Alternatively, you can type docker run -it hbase_docker bash to start a container without a running HMaster. Within this environment, HBase is built in /root/hbase-bin.