<commit_before># Docker image for Kudu
![logo](http://getkudu.io/img/logo.png)


## Supported tags and respective `Dockerfile` links
- NONE YET - This Dockerfile is UNDER DEVELOPMENT.


## What is Kudu?
Kudu is an open source storage engine for structured data which supports low-latency random access together with effi- cient analytical access patterns. Kudu distributes data using horizontal partitioning and replicates each partition using Raft consensus, providing low mean-time-to-recovery and low tail latencies. Kudu is designed within the context of the Hadoop ecosystem and supports many modes of access via tools such as [Cloudera Impala](http://impala.io/), [Apache Spark](http://spark.apache.org/), and [MapReduce](https://hadoop.apache.org/).

[http://getkudu.io/](http://getkudu.io/)


## What is Docker?
Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications. Consisting of Docker Engine, a portable, lightweight runtime and packaging tool, and Docker Hub, a cloud service for sharing applications and automating workflows, Docker enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments. As a result, IT can ship faster and run the same app, unchanged, on laptops, data center VMs, and any cloud.

[https://www.docker.com/whatisdocker/](https://www.docker.com/whatisdocker/)

### What is a Docker Image?
Docker images are the basis of containers. Images are read-only, while containers are writeable. Only the containers can be executed by the operating system.

[https://docs.docker.com/terms/image/](https://docs.docker.com/terms/image/)


## How to use this image?

### Building this Docker image
```bash
docker build -t name kudu .
```

### Starting the Kudu Master
```bash
docker run -d --name kudu-master \
    -p 8050:8050 -p 8051:8051 \
    kudu kudu-master --use_hybrid_clock=false --logtostderr -fs_wal_dir /data/kudu-master && \
docker logs -f kudu-master
```

### Starting the Kudu TabletServer
```bash
docker exec -ti kudu-master kudu-tserver --use_hybrid_clock=false --logtostderr -fs_wal_dir /data/kudu-tserver
```

FIXME: Find a way to use a different container than the Kudu Master


### Starting a Kudu console
TODO

### Accessing the web interfaces
Each component provide its own web UI. Open you browser at one of the URLs below, where `dockerhost` is the name / IP of the host running the docker daemon. If using Linux, this is the IP of your linux box. If using OSX or Windows (via Docker-Machine), you can find out your docker host by typing `docker-machine ip default`.

| Component               | Port                                              |
| ----------------------- |-------------------------------------------------- |<commit_msg>Adding instructions to run Kudu TabletServer from a different container than the Kudu master.<commit_after># Docker image for Kudu
![logo](http://getkudu.io/img/logo.png)


## Supported tags and respective `Dockerfile` links
- NONE YET - This Dockerfile is UNDER DEVELOPMENT.


## What is Kudu?
Kudu is an open source storage engine for structured data which supports low-latency random access together with effi- cient analytical access patterns. Kudu distributes data using horizontal partitioning and replicates each partition using Raft consensus, providing low mean-time-to-recovery and low tail latencies. Kudu is designed within the context of the Hadoop ecosystem and supports many modes of access via tools such as [Cloudera Impala](http://impala.io/), [Apache Spark](http://spark.apache.org/), and [MapReduce](https://hadoop.apache.org/).

[http://getkudu.io/](http://getkudu.io/)


## What is Docker?
Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications. Consisting of Docker Engine, a portable, lightweight runtime and packaging tool, and Docker Hub, a cloud service for sharing applications and automating workflows, Docker enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments. As a result, IT can ship faster and run the same app, unchanged, on laptops, data center VMs, and any cloud.

[https://www.docker.com/whatisdocker/](https://www.docker.com/whatisdocker/)

### What is a Docker Image?
Docker images are the basis of containers. Images are read-only, while containers are writeable. Only the containers can be executed by the operating system.

[https://docs.docker.com/terms/image/](https://docs.docker.com/terms/image/)


## How to use this image?

### Building this Docker image
```bash
docker build -t name kudu .
```

### Starting the Kudu Master
```bash
docker run -d  --name kudu-master \
    -h kudu-master    -p 8051:8051 \
    kudu kudu-master  -fs_wal_dir /data/kudu-master  --logtostderr  --use_hybrid_clock=false  --logtostderr  && \
docker logs -f kudu-master
```

### Starting the Kudu TabletServer
```bash
docker run -d  --name kudu-tserver1 \
    -h kudu-tserver1   -p 8050:8050 \
    kudu kudu-tserver  -fs_wal_dir /data/kudu-tserver  -tserver_master_addrs kudu-master  --use_hybrid_clock=false  --logtostderr  && \
docker logs -f kudu-tserver1
```


### Starting a Kudu console
TODO

### Accessing the web interfaces
Each component provide its own web UI. Open you browser at one of the URLs below, where `dockerhost` is the name / IP of the host running the docker daemon. If using Linux, this is the IP of your linux box. If using OSX or Windows (via Docker-Machine), you can find out your docker host by typing `docker-machine ip default`.

| Component               | Port                                              |
| ----------------------- |-------------------------------------------------- |
{'fraction_non_alphanumeric': 0.11285862426546837, 'fraction_numerical': 0.0060490839958520564, 'mean_word_length': 3.3315868263473054, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 10, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7259689', 'n_tokens_mistral': 1737, 'n_tokens_neox': 1583, 'n_words': 693}