【问题标题】:Cannot create KeySpace using Cassandra-CLI无法使用 Cassandra-CLI 创建 KeySpace
【发布时间】:2012-03-19 14:31:56
【问题描述】:

我已经安装并启动了Cassandra server(1.0.8)。我可以使用CLI 应用程序连接到服务器。但是一旦我尝试按照CassandraCLI 的步骤创建一个键空间"twissandra"

我最终得到以下错误

我可以在安装的"config" directory 中看到cassandra.yaml 文件。

编辑 - 答案

好的,在与libjack 进行了几天简短的闲聊之后。错误已被追踪。

REM set CLASSPATH="%CASSANDRA_HOME%\conf"

上面的行是一个注释(如果可以的话,请评论)我必须逐行遍历整个BAT file,然后才能最终删除REM 子句。

【问题讨论】:

  • 检查堆栈跟踪日志,这可能解释了为什么找不到 cassandra.yaml。另外更新 log4j-server.properties 中的 appender 以指定正确的路径:log4j.appender.R.File=H:/logs/cassandra.log
  • 谢谢你的回答。我需要为 cassandra 指定这么多东西才能运行,这很奇怪!让我试一试...
  • @libjack- 我试过你的解决方案。我在正确的位置看到了日志文件。但是创建键空间仍然没有运气......
  • @libjack - 我终于成功了......但解决方案绝对不能接受。我不得不将文件 cassandra.yaml 从 conf 文件夹复制到 bin 文件夹。我希望必须有其他一些选择才能正确解决此问题。

标签: cassandra command-line-interface


【解决方案1】:

cassandra.yaml 预计会在类路径中找到。默认情况下,cassandra.bat(我的 1.07 zip 版本)将 $CASSANDRA_HOME\conf 目录添加到类路径(以及其他必要的 Jars)

如果没有设置 CASSANDRA_HOME,则使用脚本位置上方的目录。

为了测试,也许修改 cassandra.bat 以回显所有命令,看看哪里出了问题。

【讨论】:

  • 我已经浏览了所有的 bat 文件。 CASSANDRA_HOME\conf 被添加到类路径中。使用 bat 文件中的以下行。 REM 确保在启动时不使用任何用户定义的 CLASSPATH 变量 set CLASSPATH="%CASSANDRA_HOME%\conf" 因此似乎还有其他问题。我已将所有 JAVA_HOME、JRE_HOME、CASSANDRA_HOME 路径添加到环境变量中。但除非我在 bin 目录中有 yaml 文件...我无法创建密钥空间。我不确定的唯一变量是“%CASSANDRA_MAIN%”,也许你可以给我一个提示。
  • 能否在日志输出中验证一下?在启动期间,我看到显示 CLASSPATH 的 INFO 消息,然后是 cassandra.yaml 资源的 URL。
  • 我已经在这里上传了日志文件如果你可以浏览我从 bin 中删除 cassandra.yaml 到 conf 文件夹时编写的前 10 行。日志的其余部分是正确的运行。 hyperfileshare.com/d/f63ce908
  • 好的,我希望 CLASSPATH 首先包含 conf 文件夹,但在您的日志中,我只看到一个前导“;”
  • 我自己对那个领先的“;”感到怀疑但不知道为什么。
猜你喜欢
  • 2013-06-01
  • 2012-02-01
  • 2012-07-28
  • 2018-08-16
  • 2013-12-06
  • 1970-01-01
  • 1970-01-01
  • 2022-12-11
  • 2020-07-24
相关资源
最近更新 更多