hbase/dev-support/hbase_docker/README.md

40 lines
1.8 KiB
Markdown

# 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](http://www.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.