我对 Chef 还很陌生,现在正试图弄清楚为什么以下两个错误阻止我成功安装。
Recipe: private-chef::redis_lb
* template[/var/opt/opscode/redis_lb/etc/redis.conf] action create (up to date)
* template[/etc/opscode/logrotate.d/redis_lb] action create (up to date)
* ruby_block[set_lb_redis_values] action create
================================================================================
Error executing action `create` on resource 'ruby_block[set_lb_redis_values]'
================================================================================
Redis::CannotConnectError
-------------------------
Error connecting to Redis on 127.0.0.1:16379 (ECONNREFUSED)
另外还有第二个错误:
Recipe: private-chef::partybus
* ruby_block[migration-level file sanity check] action run
================================================================================
Error executing action `run` on resource 'ruby_block[migration-level file sanity check]'
================================================================================
RuntimeError
------------
ERROR:
The /var/opt/opscode/upgrades/migration-level file is missing or corrupt! Please read http://docs.opscode.com/upgrade_server_ha_notes.html#pre-flight-check and correct this file before proceeding
* If this is a new installation:
run: "cd /opt/opscode/embedded/service/partybus ; /opt/opscode/embedded/bin/bundle exec bin/partybus init"
* If you have upgraded a previous installation:
copy the /var/opt/opscode/upgrades/migration-level file from a not-yet-upgraded FrontEnd node
Error message No such file or directory - /var/opt/opscode/upgrades/migration-level
请分享您对这些问题的想法和观点。
谢谢
答案1
我看到您正在尝试安装 Enterprise Chef 软件包。您看到的是我们在设置时遇到的两个错误(坦白说,我是 Chef 的工程师)。
第一个错误是我们设置 redis 的方式错误,导致 redis 启动和配置可用之间存在竞争条件。我相信第二次重新配置可以解决这个问题,因为当 redis 尝试启动时,配置文件可用。
第二个问题是 Enterprise Chef 升级过程中的一个错误。该错误实际上为您提供了解决方法。假设这是一个新安装,您需要运行:
cd /opt/opscode/embedded/service/partybus ; /opt/opscode/embedded/bin/bundle exec bin/partybus init
然后再次运行重新配置。
鉴于您正在试用 Enterprise Chef,您也可以联系支持人员寻求帮助。这两个问题应该会在 Chef 服务器的下一版本中得到解决。很抱歉它们给您带来了麻烦。
答案2
我在全新安装时遇到了类似的问题。我运行了 netstat -tulpn | grep 16379,结果返回了一个 pid。原来这是上次安装留下的。关闭该 proc 并运行 chef-server-ctl restart / status,一切正常。