rubyhadoopapache-sparkdockerbigtop

BigTop docker-hadoop.sh failing to start


I'm using BigTop 1.2.0 the vagrant provisioner is running fine but when I try to use the Docker provisioner the following error is showing:

Command

$ ./docker-hadoop.sh -c 3

Error

Environment check... Check docker: Docker version 17.09.0-ce, build afdb6d4 Check docker-compose: docker-compose version 1.16.1, build 6d1ac219 Check ruby: ruby 2.4.2p198 (2017-09-14 revision 59899) [x64-mingw32] -e:1:in <main>': undefined method[]' for nil:NilClass (NoMethodError) -e:1:in <main>': undefined method[]' for nil:NilClass (NoMethodError) The scale command is deprecated. Use the up command with the --scale flag instead. Creating 20171020215450r21863_bigtop_1 ... Creating 20171020215450r21863_bigtop_2 ... Creating 20171020215450r21863_bigtop_3 ...

ERROR: for 20171020215450r21863_bigtop_2 Resource ID was not provided ERROR: for 20171020215450r21863_bigtop_3 Resource ID was not provided ERROR: for 20171020215450r21863_bigtop_1 Resource ID was not provided

Traceback (most recent call last):
File "docker-compose", line 6, in
File "compose\cli\main.py", line 68, in main
File "compose\cli\main.py", line 121, in perform_command
File "compose\cli\main.py", line 796, in scale
File "compose\service.py", line 257, in scale File "compose\service.py", line 444, in _execute_convergence_start File "compose\service.py", line 395, in _execute_convergence_create File "compose\parallel.py", line 70, in parallel_execute docker.errors.NullResource: Resource ID was not provided Failed to execute script docker-compose Docker container(s) startup failed!

Thanks in advance.


Solution

  • It seems that you're running docker-hadoop.sh on windows with mingw32. The Docker Provisioner is tested to work on Mac and Amazon Linux for Bigtop releases just because of the resource limitation. So I'm not quite sure what's the story at Windows side ;)

    However, from your error log:

    undefined method[]' for nil:NilClass (NoMethodError)

    I'm pretty sure that the issue is related to our ruby YAML parsing feature: https://github.com/apache/bigtop/blob/master/provisioner/docker/docker-hadoop.sh#L138

    To this end, I'd suggest you to stick with Vagrant Provisioner on Windows. If you'd like to help us in making the feature compatible with Windows, feel free to reach out to dev@bigtop.apache.org