agent-state-info: 'hook 失败:“config-changed” 使用 juju 部署 wordpress

agent-state-info: 'hook 失败:“config-changed” 使用 juju 部署 wordpress

我在 Windows Azure 上有一个虚拟机。我在虚拟机中安装了 juju。我想在我的虚拟机上部署 wordpress。我在 64 位机器上运行

我已经阅读了这篇关于如何逐步部署 wordpress 的博客:

https://juju.ubuntu.com/get-started/local

但是我的 juju 状态出现错误,如下所示:

machines:
  "0":
    agent-state: started
    agent-version: 1.12.0.1
    dns-name: 10.0.3.1
    instance-id: localhost
    series: precise
  "1":
    agent-state: started
    agent-version: 1.12.0.1
    instance-id: azureuser-local-machine-1
    instance-state: missing
    series: precise
  "2":
    agent-state: started
    agent-version: 1.12.0.1
    instance-id: azureuser-local-machine-2
    instance-state: missing
    series: precise
services:
  mysql:
    charm: cs:precise/mysql-27
    exposed: false
    relations:
      cluster:
      - mysql
      db:
      - wordpress
    units:
      mysql/0:
        agent-state: error
        agent-state-info: 'hook failed: "config-changed"'
        agent-version: 1.12.0.1
        machine: "1"
        public-address: 10.0.3.209
  wordpress:
    charm: cs:precise/wordpress-16
    exposed: true
    relations:
      db:
      - mysql
      loadbalancer:
      - wordpress
    units:
      wordpress/0:
        agent-state: started
        agent-version: 1.12.0.1
        machine: "2"
        public-address: 10.0.3.174

然后,当我尝试访问具有 IP 10.0.3.174 的公共地址时,我得到了坏网关。

我在 juju status 上创建了:

 units:
          mysql/0:
            agent-state: error
            agent-state-info: 'hook failed: "config-changed"'

如何解决这个错误?

答案1

您看到的是 MySQL 配置更改钩子执行过程中发生的错误。这通常是由于以下几种原因造成的

  • 魅力虫
  • 缺少配置选项
  • 钩子执行期间出现“故障”

首先,您需要在调试日志中收集有关当前正在执行的操作的一些信息。在生产环境(如 aws、hpcloud 等)下juju debug-log -n 500,由于您正在运行本地提供程序,因此它将位于

$HOME/.juju/local/logs/unit-wordpress-0.log
$HOME/.juju/local/logs/unit-mysql-0.log

日志文件的格式相当简单,如果您需要额外的帮助来解析它们,请将其上传到 paste.ubuntu.com,我们可以在 IRC 上的 #Juju 中查看日志或更新问题。

通常,当由于极端情况或竞争条件而遇到错误时,您可以通过运行来解决错误并重试钩子执行juju resolved -r <service>/<unit>

因此,在您的 mysql 挂钩失败的示例中,juju resolved -r mysql/0将重新运行失败的挂钩,如果它成功完成,则服务将继续部署。

相关内容