This is the umbrella project for all of my docker images related to Apache Hadoop and other bigdata related Apache and non-apache projects.
The docker images are in separated repository:
name | function |
---|---|
bigdata-base | Special image contains base packages and the config loading scripts |
docker-hadoop | Apache Hadoop components (hdfs/yarn) |
docker-spark | Apache Spark |
docker-zeppelin | Apache Zeppelin |
docker-zookeeper | Apache Zookeeper |
docker-kafka | Apache Kafka |
docker-hbase | Apache HBase |
docker-phoenix | Apache Phoenix |
docker-livy | Cloudera Livy |
docker-hive (experimental) | Apache Hive |
docker-storm (experimental) | Apache Storm |
krb5 (for development only) | MIT kerberos server |
docker-consul-composer | Special image to dynamically start compose containers based on docker-compose in a Consul server |
The configuration loading mechanism is defined by scripts in the docker-bigdata-base
repository. The base image supports configuration loading from environment variables, Consul server, Spring config server. See the bigdata-base repository for more details.
There is also a simple python tool to upload configuration (the consul directory of this repository) to the consul (only required if consul is used for configuration management).
This repository contains example cluster configuration, using different ways to configure (environment variables, consul, spring config server) and provision (docker-compose, ansible, consul-composer) the products
directory | configuration type | docker container starter | provisioning | cluster type | network (*) |
---|---|---|---|---|---|
simple | environment variables | docker-compose | local | Using host network | |
compose | environment variables | docker-compose | local | Using dedicated docker network | |
consul | consul | consul-composer (docker-compose) | consul-compose(+ansible) | local/cluster | Using host network |
spring | spring config server | docker-compose | local/cluster | Using host network | |
ansible | environment variables | docker (ansible module) | ansible | cluster | Using host network |
- Host network is not a limitation just the example uses this simplified approach.
This is the most simple option. All of the application will use the network of the localhost and the default ports will be available on the localhost. See the simple subdirectory for the docker-compose file of this option.