我使用BigTop 1.2.0时,vagrant配置程序运行正常,但是当我尝试使用Docker配置程序时,显示以下错误:
命令
$ ./docker-hadoop.sh -c 3
错误
环境检查...... 检查码头: Docker版本17.09.0-ce,构建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
[]&#39; for nil:NilClass(NoMethodError) -e:1:在<main>': undefined method
[]&#39; for nil:NilClass(NoMethodError) 不推荐使用scale命令。请使用带有--scale标志的up命令。 创建20171020215450r21863_bigtop_1 ... 创建20171020215450r21863_bigtop_2 ... 创建20171020215450r21863_bigtop_3 ...错误:对于20171020215450r21863_bigtop_2未提供资源ID 错误:对于20171020215450r21863_bigtop_3未提供资源ID 错误:对于20171020215450r21863_bigtop_1未提供资源ID
追踪(最近的呼叫最后):
文件&#34; docker-compose&#34;,第6行,在 文件&#34;撰写\ cli \ main.py&#34;,第68行,在主要文件中 文件&#34;撰写\ cli \ main.py&#34;,第121行,在perform_command中 文件&#34;撰写\ cli \ main.py&#34;,第796行,按比例
文件&#34;撰写\ service.py&#34;,第257行,按比例 文件&#34;撰写\ service.py&#34;,第444行,在_execute_convergence_start中 文件&#34;撰写\ service.py&#34;,第395行,在_execute_convergence_create中 文件&#34;撰写\ parallel.py&#34;,第70行,在parallel_execute中 docker.errors.NullResource:未提供资源ID 无法执行脚本docker-compose Docker容器启动失败!
提前致谢。
答案 0 :(得分:2)
您似乎正在使用mingw32在windows上运行docker-hadoop.sh。由于资源限制,Docker Provisioner经过测试可在Mac和Amazon Linux for Bigtop版本上运行。所以我不太确定Windows端的故事是什么;)
但是,从您的错误日志中
未定义的方法[]&#39; 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