我正在尝试在 ubuntu 12.04.5 64 位上安装 chef(chef-server_11.0.4-1.ubuntu.12.04)。
安装后,当我运行“chef-server-ctl reconfigure”时出现以下错误。
让我知道如何安装它。
[2014-12-20T14:16:10+05:30] ERROR: Running exception handlers
[2014-12-20T14:16:10+05:30] ERROR: Exception handlers complete
Chef Client failed. 2 resources updated
[2014-12-20T14:16:10+05:30] FATAL: Stacktrace dumped to /opt/chef-server/embedded/cookbooks/cache/chef-stacktrace.out
[2014-12-20T14:16:10+05:30] FATAL: Mixlib::ShellOut::ShellCommandFailed: execute[/opt/chef-server/embedded/bin/chpst -u chef_server -U chef_server /opt/chef-server/embedded/bin/rabbitmqctl wait /var/opt/chef-server/rabbitmq/db/[email protected]] (chef-server::rabbitmq line 80) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '2'
---- Begin output of /opt/chef-server/embedded/bin/chpst -u chef_server -U chef_server /opt/chef-server/embedded/bin/rabbitmqctl wait /var/opt/chef-server/rabbitmq/db/[email protected] ----
STDOUT: Waiting for rabbit@localhost ...
pid is 6031 ...
STDERR: Error: process_not_running
---- End output of /opt/chef-server/embedded/bin/chpst -u chef_server -U chef_server /opt/chef-server/embedded/bin/rabbitmqctl wait /var/opt/chef-server/rabbitmq/db/[email protected] ----
Ran /opt/chef-server/embedded/bin/chpst -u chef_server -U chef_server /opt/chef-server/embedded/bin/rabbitmqctl wait /var/opt/chef-server/rabbitmq/db/[email protected] returned 2
重新启动 Rabbitmq Server 后更新错误
> [2014-12-23T09:55:15+05:30] ERROR: Running exception handlers
> [2014-12-23T09:55:15+05:30] ERROR: Exception handlers complete Chef
> Client failed. 8 resources updated [2014-12-23T09:55:15+05:30] FATAL:
> Stacktrace dumped to
> /opt/chef-server/embedded/cookbooks/cache/chef-stacktrace.out
> [2014-12-23T09:55:15+05:30] FATAL:
> Mixlib::ShellOut::ShellCommandFailed: execute[verify-system-status]
> (chef-server::bootstrap line 21) had an error:
> Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with
> [0], but received '7'
> ---- Begin output of curl -sf http://localhost:8000/_status ---- STDOUT: STDERR:
> ---- End output of curl -sf http://localhost:8000/_status ---- Ran curl -sf http://localhost:8000/_status returned 7
答案1
在 Ubuntu 上安装 chef 时存在一个已知问题。在重新配置期间,它会尝试启动并连接到 rabbitmq,但是 rabbitmq 服务器已在运行,因此启动失败。
可能发生的另一件事是 /etc/hosts 文件中没有 localhost 条目。
最有可能的是已经在运行的 rabbitmq,在这种情况下请尝试一下:
/etc/init.d/rabbitmq-server stop && chef-server-ctl reconfigure
如果这不起作用,请检查以确保 /etc/hosts 中存在以下内容:
127.0.0.1 localhost
答案2
nginx 可能没有启动。这些输出是什么:
chef-server-ctl status lsof -i:8000 chef-server-ctl tail
我不记得 Ubuntu 是否自带 lsof,所以你可能需要使用apt-get install lsof -y
答案3
我为这个问题尝试了很多次。我在谷歌上搜索了很多次。最后我找到了一个解决方案。
RabbitMQ 服务在5672
端口上运行。但此端口已被其他服务使用。因此我5672
使用以下命令检查端口上是否有任何服务正在运行:
netstat -nltp | grep 5672
我使用以下命令终止了端口 5672 的服务:
sudo kill `sudo lsof -t -i:5672`
然后我再次运行它sudo chef-server-ctl reconfigure
并且它按预期工作。