BigTop docker-hadoop.sh 无法启动

BigTop docker-hadoop.sh failing to start

我正在使用 BigTop 1.2.0,vagrant provisioner 运行 很好,但是当我尝试使用 Docker provisioner 时,显示以下错误:

命令

$ ./docker-hadoop.sh -c 3

错误

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!

提前致谢。

您似乎 运行 docker-hadoop.sh 在 windows 上使用 mingw32。由于资源限制,Docker Provisioner 经过测试可在 Mac 和 Amazon Linux for Bigtop 版本上运行。所以我不太确定 Windows 那边的故事是什么 ;)

但是,从您的错误日志中可以看出:

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

我很确定这个问题与我们的 ruby YAML 解析功能有关: https://github.com/apache/bigtop/blob/master/provisioner/docker/docker-hadoop.sh#L138

为此,我建议您在 Windows 上坚持使用 Vagrant Provisioner。 如果您想帮助我们使该功能与 Windows 兼容,请随时联系 dev@bigtop.apache.org