我正在尝试在 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
并将我的 lib
和 log
那里的文件。然后我按照 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端下载的二进制包,所以能正常运行。
如果您确实需要从源代码构建:
- 如果您还没有安装
ant
和ant-optional
。 在某处提取源存档,然后在基本目录中(
build.xml
所在的位置):ant release
- 冲杯咖啡(最后的
rat
任务需要很长时间)。 - 二进制存档将在
build
中创建,并且可以在build/dist
中找到构建的分发版。
关于java - 错误 : Could not find or load main class, Cassandra ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22512840/