无法在 unix 机器上启动 Cassandra 服务器

Unable to start Cassandra server on unix machine

我是 cassandra 的新手,需要有关在 Unix 机器上启动 cassandra 服务器的帮助。我安装了 cassandra,在执行 ./bin/cassandra -f 时出现以下错误 -

./bin/cassandra: 测试:未知运算符 >

另一个错误是在同一目录中执行 cqlsh 时。

cqlsh:第 21 行出现语法错误:`print' 意外

我的环境中有 jdk 1.8 和 python 2.4.4。我也尝试同时使用 tcsh 和 bash。

请提供建议并感谢解决方案。

肯定有一些技巧可以让 Cassandra 在某些品牌的 UNIX 上运行 运行。这也有助于了解您正在尝试使用哪个版本的 Cassandra 运行。

首先,你绝对应该 运行 它来自 Bash。

./bin/cassandra: test: unknown operator >

接下来,发生这种情况是因为 conf/cassandra-env.sh 正在尝试检查您的 Java 版本。根据您拥有的 Cassandra 版本,它会尝试执行以下操作:

  if [ "$JVM_VENDOR" != "OpenJDK" -o "$JVM_VERSION" \> "1.6.0" ]

在 Bash 和 Linux 中,效果很好。但对于某些品牌的 UNIX,该运算符的工作方式可能不同。老实说,只要你知道你的 Java 版本是好的,你应该能够编辑 conf/cassandra-env.sh 并注释掉那些检查。

cqlsh: syntax error at line 21: `print' unexpected

此错误的发生是因为这一行:

python -c 'import sys; sys.exit(not (0x020700b0 < sys.hexversion < 0x03000000))' 2>/dev/null \
&& exec python "`python -c "import os;print(os.path.dirname(os.path.realpath('[=13=]')))"`/cqlsh.py" "$@"

这可能是因为 cqlsh 包装器脚本未能在您的计算机上找到合适的 Python 版本。我不知道 cqlsh 可以使用 Python 2.4,所以我会尝试将其升级到 2.7。

简而言之,如果你能体验到 Linux 到 运行 Cassandra 的味道,你将有更大的成功机会。即使您绕过了这些错误,我敢打赌您还会遇到更多错误,因此现在更改为 Linux 可能会更容易。

将 TCSH 更改为 Bash 并编辑 cassandra 脚本解决了它。

在 solaris 上工作的最佳参考 -https://blogs.oracle.com/partnertech/entry/how_to_build_and_run