在 ubuntu 14 中启动码头失败
Posted
技术标签:
【中文标题】在 ubuntu 14 中启动码头失败【英文标题】:Starting jetty fail in ubuntu 14 【发布时间】:2017-01-05 17:28:30 【问题描述】:我在 cloud9 工作区中运行的 Ubuntu 14 容器中安装了 solr-jetty 包。
要安装包,我运行以下命令:
sudo apt-get install solr-jetty
安装不会返回任何错误。 然后我尝试使用以下命令启动 solr:
sudo service jetty start
但我收到以下错误:
* Starting Jetty servlet engine. jetty
* Jetty servlet engine started, reachable on http://host-solr-3694477:8983/. jetty
...fail!
在码头的日志文件中,我收到以下消息:
failed setting default capabilities.
set_caps(CAPS) failed for user 'jetty'
Service exit with a return value of 4
我该如何解决这个问题?
【问题讨论】:
这对于 serverfault.com 来说似乎是一个更好的问题 您是否尝试过安装包含旋转日志的apache2-utils
?
@MatsLindh 问题不在旋转日志中:未找到。我已经更正了应用此修复程序的问题:osdir.com/ml/ubuntu-bugs/2016-06/msg16756.html。纠正这个“......失败!”消息仍然存在。
【参考方案1】:
为了解决这个问题,我不得不将运行 jetty 的用户从 jetty 更改为 root。
这可以通过编辑/etc/default/jetty
文件来配置。
我认为这不是更正确的解决方案,因为它会增加安全问题。如果有人有更好的解决方案...
【讨论】:
【参考方案2】:这里的 Docker 用户,同样的问题,但是 - 这对我有用(这与将用户更改为“root”一样不明智,如上所述):
https://docs.docker.com/engine/reference/run/#/runtime-privilege-and-linux-capabilities
在创建容器时在“docker run”命令中设置以下内容:
--privileged=true
我只是在使用 docker 进行开发,所以还没有过分担心它的安全隐患。
【讨论】:
以上是关于在 ubuntu 14 中启动码头失败的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu 16.04 安装 ElasticSearch 5.x,启动失败