重启ubuntu 16.04机器后无法启动Cassandra 3.11.6服务
Posted
技术标签:
【中文标题】重启ubuntu 16.04机器后无法启动Cassandra 3.11.6服务【英文标题】:Can't start Cassandra 3.11.6 service after restart the ubuntu 16.04 machine 【发布时间】:2020-07-15 19:40:04 【问题描述】:我的 ubuntu 16.04 中有 Cassandra 3.11.6。一旦我在第一次使用时安装了 Cassandra,它就可以正常工作了。但是我重新启动我的机器然后尝试连接它显示如下错误:
Connection error: ('Unable to connect to any servers', '127.0.0.1': error(111, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused"))
我还检查了 Cassandra 服务的状态,它显示如下:
● cassandra.service - LSB: distributed storage system for structured data
Loaded: loaded (/etc/init.d/cassandra; bad; vendor preset: enabled)
Active: active (exited) since Fri 2020-04-03 19:51:24 IST; 1h 8min ago
Docs: man:systemd-sysv-generator(8)
Process: 1653 ExecStart=/etc/init.d/cassandra start (code=exited, status=0/SUCCESS)
为什么会出现此错误,如何解决?
【问题讨论】:
运行service cassandra start
后system.log会说什么?
不,它没有得到任何最新更新。最后一次更新是在我的机器重启之前。
好的,去你的 Cassandra 目录,运行bin/cassandra -f
看看它告诉你什么。
它显示:[0.000s][warning][gc] -Xloggc 已弃用。将使用 -Xlog:gc:/var/log/cassandra/gc.log 代替。 intx ThreadPriorityPolicy=42 超出允许范围 [0 ... 1] 错误指定的 VM 选项 'ThreadPriorityPolicy=42' 错误:无法创建 Java 虚拟机。错误:发生了致命异常。程序将退出。
【参考方案1】:
ThreadPriorityPolicy=42 is outside the allowed range
所以这个错误是特定于 JVM,而不是 Cassandra。 Cassandra 3.11.6 在 1.8 的最大 JVM(主要)版本上运行。如果您运行java -version
并看到列出的版本为 1.9 或更高,那么您需要为 Cassandra 安装 1.8 版本的 JDK。
至于为什么突然出现这个错误,我不知道。我的猜测是 JDK 在安装和重启之间进行了更新。
但是我也有OpenJDK 1.8,如何设置Cassandra?
将$JAVA_HOME
环境变量设置为您的JDK 1.8 目录。 bin/cassandra
脚本(如果存在)使用此变量。
【讨论】:
是的,你是对的。我在重新启动之前下载了开放的 JDK 11。但我也有开放的 JDK 1.8 我如何为 Cassandra 设置。 @RamS 已编辑。 但我希望 JAVA_HOME 环境变量作为 a 来代表 JDK 11 目录用于其他目的。现在我该怎么办? @RamS 好的,所以在你的服务定义中设置它。以上是关于重启ubuntu 16.04机器后无法启动Cassandra 3.11.6服务的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu GNOME 16.04,安装NVIDIA驱动后无法开机,怎么解决
ubuntu16.04 springboot 断电后重启:程序自动重启