【问题标题】:Cassandra won't start in linux as a serviceCassandra 不会在 linux 中作为服务启动
【发布时间】:2015-04-30 17:04:47
【问题描述】:

我有一个在 Google 计算上运行的 debian linux 映像。可以成功地让 cassandra 与“sudo cassandra”或“sudo cassandra -f”一起工作,但是一旦我注销它就会停止工作。但是,当我尝试将其作为服务运行时,它根本没有说什么,也没有启动它!我使用 aptget 包 v2.1 安装它。

我试过 sudo service cassandra start。它看起来像是在做某事然后退出而没有任何日志。

请帮助我将其作为服务运行。当我将它作为服务运行时,我什至找不到日志的存储位置。

【问题讨论】:

  • sudo cassandra -f & 应该适合你
  • @SandeepVaid,它将在前台运行它。我需要它在后台运行并在我注销后保持运行。这是一个生产设置
  • 在 unix 命令后面不加 '&' 使其成为背景工作?
  • 当我注销(而不是关闭)时,它会停止。正确的方法是 sudo service cassandra start 但没有任何反应
  • 它应该在后台使用 sudo cassandra 启动,如果这在您注销之后没有持续存在,那么很可能是错误的

标签: linux cassandra sudo


【解决方案1】:

我最近遇到了这个问题,正如 BrianC 所说,它可能是内存不足的情况。就我而言,我可以使用sudo cassandra -f 成功启动cassandra,但不能使用/etc/init.d/cassandra start

对我来说,作为服务启动时/var/log/cassandra/system.log 中的最后一个日志条目是:

INFO [main] 2015-04-30 10:58:16,234 CassandraDaemon.java (line 248) Classpath: /etc/cassandra:/usr/share/cassandra/lib/antlr-3.2.jar:/usr/share/cassandra/lib/commons-cli-1.1.jar:/usr/share/cassandra/lib/commons-codec-1.2.jar:/usr/share/cassandra/lib/commons-lang3-3.1.jar:/usr/share/cassandra/lib/compress-lzf-0.8.4.jar:/usr/share/cassandra/lib/concurrentlinkedhashmap-lru-1.3.jar:/usr/share/cassandra/lib/disruptor-3.0.1.jar:/usr/share/cassandra/lib/guava-15.0.jar:/usr/share/cassandra/lib/high-scale-lib-1.1.2.jar:/usr/share/cassandra/lib/jackson-core-asl-1.9.2.jar:/usr/share/cassandra/lib/jackson-mapper-asl-1.9.2.jar:/usr/share/cassandra/lib/jamm-0.2.5.jar:/usr/share/cassandra/lib/jbcrypt-0.3m.jar:/usr/share/cassandra/lib/jline-1.0.jar:/usr/share/cassandra/lib/json-simple-1.1.jar:/usr/share/cassandra/lib/libthrift-0.9.1.jar:/usr/share/cassandra/lib/log4j-1.2.16.jar:/usr/share/cassandra/lib/lz4-1.2.0.jar:/usr/share/cassandra/lib/metrics-core-2.2.0.jar:/usr/share/cassandra/lib/netty-3.6.6.Final.jar:/usr/share/cassandra/lib/reporter-config-2.1.0.jar:/usr/share/cassandra/lib/servlet-api-2.5-20081211.jar:/usr/share/cassandra/lib/slf4j-api-1.7.2.jar:/usr/share/cassandra/lib/slf4j-log4j12-1.7.2.jar:/usr/share/cassandra/lib/snakeyaml-1.11.jar:/usr/share/cassandra/lib/snappy-java-1.0.5.jar:/usr/share/cassandra/lib/snaptree-0.1.jar:/usr/share/cassandra/lib/super-csv-2.1.0.jar:/usr/share/cassandra/lib/thrift-server-0.3.7.jar:/usr/share/cassandra/apache-cassandra-2.0.14.jar:/usr/share/cassandra/apache-cassandra-thrift-2.0.14.jar:/usr/share/cassandra/apache-cassandra.jar:/usr/share/cassandra/stress.jar:/usr/share/java/jna.jar::/usr/share/cassandra/lib/jamm-0.2.5.jar:/usr/share/cassandra/lib/jamm-0.2.5.jar

然后什么都没有。如果是内存问题,您应该能够在系统日志中验证这一点。如果 if 包含类似的内容:

Apr 30 10:53:39 dev kernel: [1173246.957818] Out of memory: Kill process 8229 (java) score 132 or sacrifice child
Apr 30 10:53:39 dev kernel: [1173246.957831] Killed process 8229 (java) total-vm:634084kB, anon-rss:286772kB, file-rss:12676kB

增加你的内存。就我而言,我将其增加到 2GB,并且开始正常。

【讨论】:

  • 如果我什至没有创建任何 system.log 文件,有什么想法吗?
  • 使用 deb 包安装的 Cassandra 目前在使用 Java 版本 > 8 时无法启动。对我来说,使用 java 8 的更新替代方案解决了这个问题。
猜你喜欢
  • 1970-01-01
  • 2015-12-24
  • 2016-11-14
  • 1970-01-01
  • 2019-12-29
  • 1970-01-01
  • 2014-04-14
  • 1970-01-01
  • 2011-10-16
相关资源
最近更新 更多