Creating containers for an application is easy (even if it’s a goold old distributed application like Apache Hadoop), just a few steps of packaging.
The hard part isn't packaging: it's deploying
How can we run the containers together? How to configure them? How do the services in the containers find and talk to each other? How do you deploy and manage clusters with hundred of nodes?
Modern cloud native tools like Kubernetes or Consul/Nomad could help a lot but they could be used in different way.
It this presentation I will demonstrate multiple solutions to manage containerized clusters with different cloud-native tools including kubernetes, and docker-swarm/compose.
No matter which tools you use, the same questions of service discovery and configuration management arise. This talk will show the key elements needed to make that containerized cluster work.
Tools:
kubernetes, docker-swam, docker-compose, consul, consul-template, nomad
together with: Hadoop, Yarn, Spark, Kafka, Zookeeper, Storm….
References:
https://github.com/flokkr
Speaker
Marton Elek, Lead Software Engineer, Hortonworks
25. How to handle configuration?How to handle configuration?
Create a simple launcher script to
Create config file from environment variables
Start the application
36. #!/usr/bin/env bash
if [ -n "$SLEEP_SECONDS" ]; then
echo "Sleeping for $SLEEP_SECONDS seconds"
sleep $SLEEP_SECONDS
fi
if [ -n "$ENSURE_NAMENODE_DIR" ]; then
if [ ! -d "$ENSURE_NAMENODE_DIR" ]; then
/opt/hadoop/bin/hdfs namenode -format -force $CLUSTERID_OPTS
fi
fi
"$@"
118. Is HadoopIs Hadoop
cloud native?cloud native?
Yes, with small modifications
DNS/IP handling. Shoud work
without DNS
with changing DNS
119. Is HadoopIs Hadoop
cloud native?cloud native?
Yes, with small modifications
DNS/IP handling. Shoud work
without DNS
with changing DNS
More flexible configuration loading
120. Is HadoopIs Hadoop
cloud native?cloud native?
Yes, with small modifications
DNS/IP handling. Shoud work
without DNS
with changing DNS
More flexible configuration loading
Reverse proxy friendly UI
124. SummarySummary
Don't buy without checking
the label
Hadoop is first class citizen
of cloud-native/containerized
environments*
Containerization can help a
lot to manage our Bigdata
clusters