从工作站运行厨师客户端

时间:2012-12-07 06:54:44

标签: chef

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

所以让我们决定命名如下: 厨师服务器:S 工作站:W 厨师节点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 错误:内部服务器错误

感谢任何帮助或线索。请回答

3 个答案:

答案 0 :(得分:2)

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

配置运行这些

rabbitmqctl add_vhost / chef

rabbitmqctl add_user chef testing

rabbitmqctl set_permissions -p / chef chef“。”“。”“。*”'

结帐

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

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

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

amqp_pass“测试”

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

答案 1 :(得分:0)

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

  

Chef Indexer包含一个RabbitMQ消息队列,chef-expander,它从队列中提取消息并对其进行格式化;还有chef-solr,一个围绕Solr的薄包装。

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

- Chef Server

- Chef Configuration Settings(检查 solr.rb server.rb

尝试从工作站进行简单搜索,例如: knife search node "*:*"甚至knife status(刀状态使用搜索)获取所有节点的列表。我更喜欢刀状态,因为它将返回所有节点的列表,而刀搜索将返回所有节点作为对象,如果您有许多节点,它将无济于事。无论如何,如果结果是您拥有的所有节点的列表,那么搜索正在按预期工作。如果是这种情况,那么接下来我要尝试的是使用以下内容重建索引:
knife index rebuild -y或更改solrconfig.xml中的maxFieldLength,如下面更详细的描述(2)

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

 1. [chef] nodes not showing up in `knife status` opscode列表中的人员尝试使用knife index rebuild -y命令重建搜索索引并检查chef-solr相关的目录权限。

2. CHEF-2346他们在solr中讨论生成大量索引数据的系统中的maxFieldLength。正如您可能已经知道的那样,索引数据是从ohai和所有属性,节点,数据库等生成的数据。我的情况与我的所有Windows系统一样,与大多数其他人一样。 (我之所以提供此链接的原因是因为我无法估计索引数据的数量。)例如,LDAP可能会产生大量数据。当然,如果你的情况是大量的数据,你可以禁用一些ohai插件,如果你不需要它们。 (Check Disabling Ohai Plugins.)

答案 2 :(得分:0)

调试Chef Server&amp ;;的问题时的一个好习惯我找到了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

在knife.rb。