我在 aws cloud 上安装了 ubuntu 12.04,并尝试在其上安装 chef 服务器,但配置不正确并返回错误。我按照此简单指南进行安装这里
运行 sudo sudo chef-server-ctl reconfigure 后出现以下错误
如何传递此错误并配置 chef 服务器?
execute[/opt/chef-server/embedded/bin/createdb -T template0 -E UTF-8 opscode_chef] action run Error executing action run on resource 'execute[/opt/chef-server/embedded/bin/createdb -T template0 -E UTF-8 opscode_chef]'
Mixlib::ShellOut::ShellCommandFailed
Expected process to exit with [0], but received '1' ---- Begin output of /opt/chef-server/embedded/bin/createdb -T template0 -E UTF-8 opscode_chef ---- STDOUT: STDERR: createdb: could not connect to database template1: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? ---- End output of /opt/chef-server/embedded/bin/createdb -T template0 -E UTF-8 opscode_chef ---- Ran /opt/chef-server/embedded/bin/createdb -T template0 -E UTF-8 opscode_chef returned 1
Resource Declaration:
In /opt/chef-server/embedded/cookbooks/chef-server/recipes/postgresql.rb
141: execute "/opt/chef-server/embedded/bin/createdb -T template0 -E UTF-8 opscode_chef" do 142: user node['chef_server']['postgresql']['username'] 143: not_if database_exists 144: retries 30 145: notifies :run, "execute[migrate_database]", :immediately 146: end 147:
Compiled Resource:
Declared in /opt/chef-server/embedded/cookbooks/chef-server/recipes/postgresql.rb:141:in `from_file'
execute("/opt/chef-server/embedded/bin/createdb -T template0 -E UTF-8 opscode_chef") do action "run" retries 0 retry_delay 2 command "/opt/chef-server/embedded/bin/createdb -T template0 -E UTF-8 opscode_chef" backup 5 returns 0 user "opscode-pgsql" cookbook_name :"chef-server" recipe_name "postgresql" not_if "/opt/chef-server/embedded/bin/chpst -u opscode-pgsql /opt/chef-server/embedded/bin/psql -d 'template1' -c 'select datname from pg_database' -x|grep opscode_chef" end
[2014-12-02T06:57:49+00:00] ERROR: Running exception handlers [2014-12-02T06:57:49+00:00] ERROR: Exception handlers complete [2014-12-02T06:57:49+00:00] FATAL: Stacktrace dumped to /opt/chef-server/embedded/cookbooks/cache/chef-stacktrace.out Chef Client failed. 49 resources updated [2014-12-02T06:57:49+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
答案1
我从这里得到了暗示https://stackoverflow.com/questions/21735878/chef-server-ctl-reconfigure-fails-after-customizing-the-postgresql-port。已经安装有 PostgreSQL。修复方法如下。
将现有 PostgreSQL 安装的端口号修改为 5433,并让 Chef 的实例使用 5432。现在“chef-server-ctl reconfigure”命令已成功完成。
还可以更改 Chef Server 用于访问 PostgreSQL 的端口。