In the BDE project, we have encountered a problem when the wrong startup sequence of the Big Data components prevents the system convergence. For example, simply starting Apache Hadoop datanode before namenode will bring datanode into failing state, where datanode can not connect to namenode. To recreate this example you can execute the following commands:
git clone https://github.com/earthquakesan/docker-control-startup-sequence && cd docker-control-startup-sequence make network make datanode ### in another terminal make namenode
You can see that even after starting namenode, datanode still can not connect to it:
(trim) 17/11/01 10:25:11 WARN datanode.DataNode: Problem connecting to server: namenode:9000 (trim)
This can be resolved by restarting datanode or ensuring that datanode is started after namenode. In this blog post, we will discuss the possibilities of ensuring particular startup of docker containers.