简体   繁体   English

BigTop docker-hadoop.sh无法启动

[英]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: 我正在使用BigTop 1.2.0,但是当我尝试使用Docker配置器时,显示以下错误:

Command 命令

$ ./docker-hadoop.sh -c 3 $ ./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. 环境检查...检查docker:Docker版本17.09.0-ce,build afdb6d4检查docker-compose:docker-compose版本1.16.1,build 6d1ac219检查ruby:ruby 2.4.2p198(2017-09-14修订版59899)[ x64-mingw32] -e:1:在<main>': undefined method []'用于nil:NilClass(NoMethodError)-e:1:在<main>': undefined method []'用于nil:NilClass(NoMethodError)不推荐使用scale命令。 Use the up command with the --scale flag instead. 请使用带有--scale标志的up命令。 Creating 20171020215450r21863_bigtop_1 ... Creating 20171020215450r21863_bigtop_2 ... Creating 20171020215450r21863_bigtop_3 ... 创建20171020215450r21863_bigtop_1 ...创建20171020215450r21863_bigtop_2 ...创建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 错误:对于20171020215450r21863_bigtop_2未提供资源ID错误:对于20171020215450r21863_bigtop_3未提供资源ID错误:对于20171020215450r21863_bigtop_1未提供资源ID

Traceback (most recent call last): Traceback(最近一次调用最后一次):
File "docker-compose", line 6, in 文件“docker-compose”,第6行,in
File "compose\\cli\\main.py", line 68, in main 文件“compose \\ cli \\ main.py”,第68行,在main中
File "compose\\cli\\main.py", line 121, in perform_command 在perform_command中输入“compose \\ cli \\ main.py”,第121行
File "compose\\cli\\main.py", line 796, in scale 文件“compose \\ cli \\ main.py”,第796行,按比例
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! 文件“compose \\ service.py”,第257行,缩放文件“compose \\ service.py”,第444行,在_execute_convergence_start文件“compose \\ service.py”,第395行,在_execute_convergence_create文件“compose \\ parallel.py”中,第70行,在parallel_execute docker.errors.NullResource:未提供资源ID无法执行脚本docker-compose Docker容器启动失败!

Thanks in advance. 提前致谢。

It seems that you're running docker-hadoop.sh on windows with mingw32. 看来你正在使用mingw32在windows上运行docker-hadoop.sh。 The Docker Provisioner is tested to work on Mac and Amazon Linux for Bigtop releases just because of the resource limitation. 由于资源限制,Docker Provisioner经过测试可在Mac和Amazon Linux for Bigtop版本上运行。 So I'm not quite sure what's the story at Windows side ;) 所以我不太确定Windows端的故事是什么;)

However, from your error log: 但是,从错误日志中:

undefined method[]' for nil:NilClass (NoMethodError) 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 我很确定这个问题与我们的ruby YAML解析功能有关: 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. 为此,我建议你坚持使用Windows上的Vagrant Provisioner。 If you'd like to help us in making the feature compatible with Windows, feel free to reach out to dev@bigtop.apache.org 如果您想帮助我们使该功能与Windows兼容,请随时联系dev@bigtop.apache.org

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM