4

我已经在我的一个 ubuntu 12.04 操作系统上设置了一个厨师服务器。第二台 ubuntu 机器运行着一个 Chef 客户端,我将其用作工作站来管理其他节点。

因此,让我们决定如下命名: Chef Server : S Workstation : W Chef Nodes N1, N2 ...

我已经使用厨师引导程序从工作站 W 引导厨师节点 N1,如下所示http://wiki.opscode.com/display/chef/Client+Bootstrap+Fast+Start+Guide

在此之后,我尝试从我的工作站 W 在 N1 上运行 chef-client 命令。我正在使用以下命令:

knife ssh name:chefNode -x ubuntu -P password "sudo chef-client"

这会引发以下错误:错误:服务器返回错误http://ec2-XX-XX-XX-XXX.compute-1.amazonaws.com:4000/search/node?=name:chefNode&sort=X_CHEF_id_CHEF_X%20asc&start= 0 &rows=1000,在 58 秒内重试 5/5 错误:内部服务器错误

任何帮助或线索表示赞赏。请回答

4

3 回答 3

2

看看你的rabbitmq-server。看看它是否配置正确。

要配置运行这些

rabbitmqctl add_vhost /chef

rabbitmqctl add_user 厨师测试

rabbitmqctl set_permissions -p /chef chef ". " ". " ".*"'

查看

http://wiki.opscode.com/display/chef/Chef+Indexer

如果您不是 root 用户,请使用 sudo。

另外在您的 sever.rb 文件中添加这一行,该文件应该在您的 /etc/chef 文件夹中

amqp_pass “测试”

重启rabbitmq-server服务,一切正常

于 2012-12-07T07:16:18.247 回答
0

“knife ssh”命令使用 chef 的搜索功能。@Manak Wadhwa 建议的关于Chef Indexer的链接说:

Chef Indexer 由 RabbitMQ 消息队列、chef-expander(从队列中提取消息并对其进行格式化)和 chef-solr(围绕 Solr 的精简包装器)组成。

因此,您还可以检查 chef-solr 和 chef-expander 是否都在工作和运行。验证所有配置文件是否具有每个组件的正确服务器 IP/端口:

- Chef 服务器

- Chef 配置设置(检查solr.rbserver.rb

尝试从您的工作站进行简单搜索,例如: knife search node "*:*"甚至knife status(刀状态使用搜索)获取所有节点的列表。我更喜欢刀状态,因为它会返回所有节点的列表,而刀搜索会将所有节点作为对象返回,如果你有很多节点,它不会有太大帮助。无论如何,如果结果是您拥有的所有节点的列表,那么搜索就可以正常工作。如果是这种情况,那么接下来我会尝试使用以下方法重建索引:
knife index rebuild -y从工作站或更改 solrconfig.xml 中的 maxFieldLength,如下文 (2) 中更详细描述的那样。

用于检查搜索故障排除的另外两个链接是:

1. [chef] 节点未显示在“刀状态”中,操作码列表中的人员尝试使用knife index rebuild -y命令重建搜索索引并检查 chef-solr 相关目录权限。

2.厨师-2346他们在 solr 中讨论了生成大量索引数据的系统的 maxFieldLength。正如您可能已经知道的那样,索引数据是从 ohai 和所有属性、节点、数据包等生成的数据。我遇到的情况是我的所有 Windows 系统,就像其他大多数人一样。(我还提供此链接的原因是因为我无法估计您的索引数据量。)例如 LDAP 可以产生大量数据。当然,如果您需要大量数据,您可以禁用一些不需要的 ohai 插件。(检查禁用 Ohai 插件。)

于 2013-02-14T23:08:27.287 回答
0

我发现,在使用 Chef Server & Co 调试问题时,一个好的做法是查看服务器的日志。对于 Chef Server 11,您只需使用

$ sudo chef-server-ctl tail

或者

$ sudo chef-server-ctl [<service name>] tail

对于这个特定的问题,我会做

$ sudo chef-server-ctl erchef tail

您可以在 msg=[...] 下查看对请求的响应和有关失败的简短消息

另外,对于跑刀时遇到的调试问题,我会设置

log_level                :debug

在刀.rb。

于 2013-04-18T11:22:31.557 回答