java - 错误 : Could not find or load main class, Cassandra

标签 java cassandra

我正在尝试在 Centos 服务器上构建 Casandra 项目。我从这里下载了文件。

http://apache.bilkent.edu.tr/cassandra/2.0.6/

这里是 README.txt 文件

This short guide will walk you through getting a basic one node cluster up
and running, and demonstrate some simple reads and writes.

  * tar -zxvf apache-cassandra-$VERSION.tar.gz
  * cd apache-cassandra-$VERSION
  * sudo mkdir -p /var/log/cassandra
  * sudo chown -R `whoami` /var/log/cassandra
  * sudo mkdir -p /var/lib/cassandra
  * sudo chown -R `whoami` /var/lib/cassandra

Note: The sample configuration files in conf/ determine the file-system 
locations Cassandra uses for logging and data storage. You are free to
change these to suit your own environment and adjust the path names
used here accordingly.

Now that we're ready, let's start it up!

  * bin/cassandra -f

正如 README.txt 文件所建议的那样,我按照这些说明来适应我的情况(我不是 root)。

tar -zxvf apache-cassandra-2.0.6-src.tar.gz
cd apache-cassandra-2.0.6-src
mkdir -p var/log/cassandra
chown -R `whoami` var/log/cassandra
mkdir -p var/lib/cassandra
chown -R `whoami` var/lib/cassandra

因为我不是服务器上的根用户,所以我无法在 /var 文件夹下创建我的文件。因此,我在 apache-cassandra-2.0.6-src 下创建了新文件夹 var 并将我的 liblog 那里的文件。然后我按照 README.txt 文件中的下一条说明进行操作。

bin/cassandra -f

无论我怎么尝试都不好,我总是会收到这个错误。

Error: Could not find or load main class org.apache.cassandra.service.CassandraDaemon

我该如何解决这个问题?

我的java版本

java -version

java version "1.7.0_51"
OpenJDK Runtime Environment (rhel-2.4.4.1.el6_5-x86_64 u51-b02)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)

编辑: 作为额外的信息,我也在我的电脑上尝试了这个说明。使用 sudo 与 README.txt 文件完全相同,并且有效。

最佳答案

我看到您已经下载了源包 (apache-cassandra-2.0.6-src.tar.gz),但您发布的说明似乎假定它已经构建。

使用前需要先构建源码包;某处会有一套单独的说明。

我怀疑您宁愿只运行它而不是从源代码构建它。您可能打算下载二进制包 apache-cassandra-2.0.6-bin.tar.gz相反(注意“bin”,而不是“src”——这是在可下载文件中将二进制文件与源代码分开时的传统命名约定)。使用该软件包,您可以开箱即用。对于源码包,您需要先按照构建说明编译 cassandra。

我也怀疑你是在PC端下载的二进制包,所以能正常运行。

如果您确实需要从源代码构建:

  1. 如果您还没有安装 antant-optional
  2. 在某处提取源存档,然后在基本目录中(build.xml 所在的位置):

    ant release
    
  3. 冲杯咖啡(最后的 rat 任务需要很长时间)。
  4. 二进制存档将在 build 中创建,并且可以在 build/dist 中找到构建的分发版。

关于java - 错误 : Could not find or load main class, Cassandra ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22512840/

相关文章:

java - Java 中的排序

java - java.util.Collections.sort() 方法的时间复杂度是多少?

java - ElasticSearch 只返回具有不同值的文档

java - 使用用户定义的类在列表中添加值

java - 无法验证包含变音符号的文本

Cassandra 在写入/更新之前读取

c# - Cassandra Production 准备好在 Windows 上运行了吗?

graph - Titan + d3 用于计算机网络可视化

Cassandra 在不同查询上的性能

java - 使用 AnnotatedCompositeSerializer 放置的 Astyanax 复合列在几个小时后通过多个客户端变得无法获取