【问题标题】:Consul service fails to start领事服务无法启动
【发布时间】:2021-01-18 14:23:42
【问题描述】:

尝试在 Ubuntu 18.04 上设置单节点 Consul,使用版本:Consul v1.8.4。我正在使用我自己的用户开始,

我的 consul.service 文件是这样的

[Service]
ExecStart=/opt/consul/bin/consul agent –server –ui  –data-dir=/temp/consul –bootstrap-expect=1 –node=vault –bind=192.168.37.128 –config-dir=/etc/consul.d

sudo systemctl daemon-reload
sudo systemctl start consul

服务启动失败——抱怨Unexpected extra arguments

journalctl -xe -u consul

Unexpected extra arguments: [–server –ui –data-dir=/temp/consul –bootstrap-expect=1 –node=vault –bind=192.168.37.128 –conf
Oct 02 23:50:25 ubuntu2 systemd[1]: consul.service: Main process exited, code=exited, status=1/FAILURE
Oct 02 23:50:25 ubuntu2 systemd[1]: consul.service: Failed with result 'exit-code'.

更新第 2 期

解析/etc/consul.d/ui.json失败:无效字符'â' looking for beginning of object key string

ui.json - 问题似乎是“ ” - 他们需要是" " - 现在如下:

{
"addresses": {
"http": "0.0.0.0"
  }
}

因此需要注意这些 un​​icode 字符 - 跨编辑器的剪切粘贴问题 - 最好使用文本编辑器或直接在控制台中

如果有人有最佳实践想法。

【问题讨论】:

    标签: terraform consul hashicorp-vault


    【解决方案1】:

    问题在于您的 systemd 单元中指定的选项以短划线 (: Unicode 0x2013) 而不是连字符 (-: Unicode 0x2d) 为前缀。请参阅Wikipedia: Hyphens and Dashes 了解更多信息。

    指定选项的正确语法是:

    [Service]
    ExecStart=/opt/consul/bin/consul agent -server -ui -data-dir=/temp/consul -bootstrap-expect=1 -node=vault -bind=192.168.37.128 -config-dir=/etc/consul.d
    

    【讨论】:

    • 感谢您解决了这个问题。不知道这个换位是怎么发生的?以及如何检测?但现在下一个问题 - 原因可能看起来相似 - 看不到 - 在 main 中发布。
    • 检测到 “ ” 的问题并使用 " " 修复它。 现在一切正常 - 直到下一期。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-28
    • 2011-08-05
    • 2017-03-20
    相关资源
    最近更新 更多