Cassandra-windows 10

Posted

技术标签:

【中文标题】Cassandra-windows 10【英文标题】: 【发布时间】:2021-10-12 15:45:28 【问题描述】:

我已经安装了 apache-cassandra-3-11-11 和 DATASTAX-DDC。但它们不适用于 Windows 10。

它在 cmd 中给出了一个错误,如图所示。我尝试在 powershell 上编写 cassandra.bat -f 命令,但又没有。(它们处于管理员模式)

当我尝试打开 Cassandra CQL Shell 时,它会打开,但会在几秒钟内自行关闭。 当我尝试在 datastax 文件夹中打开 cassandra.bat 文件时,同样的事情发生了。

(顺便说一下,我在环境设置中添加了 CASSANDRA_HOME 目录)

有人可以帮我吗...我该怎么办?问题出在哪里?

【问题讨论】:

在 Windows 上运行 Cassandra 最简单的方法是使用 Docker 尝试在超级用户上询问,不知道您是否会在编程网站上获得很多运气。 @AlexOtt 是的,我的电脑里有 Docker,docker 自己的命令终结器工作正常。我猜 Cassandra CQL Shell 不工作的原因与 powershell 权限有关。但是我找不到我将如何授予权限 纯粹看错误消息(我不知道 Cassandra):看起来批处理文件错误地将非 PowerShell 脚本 (.ps1) 传递给 powershell.exe -f,而且,奇怪的是,这似乎是一个目录 这不是 Cassandra 的问题。这是你机器的问题。 【参考方案1】:

您不使用 cassandra.bat 脚本启动 Cassandra。只需使用cassandra:

C:\> cd C:\Program Files\apache-cassandra-3.11.11\bin
C:\Program Files\apache-cassandra-3.11.11\bin> cassandra

Powershell 权限

您需要向运行 Cassandra 脚本的 Windows 帐户授予 Powershell 权限。

您可以通过以下方式向计算机上的所有 Windows 帐户授予权限:

C:\> powershell Set-ExecutionPolicy Unrestricted

警告:您需要以管理员身份运行命令提示符才能运行上述命令。

作为替代方案,您可以仅为当前用户授予不受限制的访问权限:

C:\> powershell Set-ExecutionPolicy -Scope CurrentUser Unrestricted

堆大小

如果您的笔记本电脑/台式机只有 8GB 内存,您将在启动时收到此错误:

Error occurred during initialization of VM
Could not reserve enough space for object heap

默认情况下,Cassandra 将尝试在 8GB 机器上分配给堆的 2GB 内存开始。但是如果没有足够的空闲内存,Java 将无法为 JVM 堆保留它。

您需要通过在conf/jvm.options 的“堆设置”部分取消注释以下行来启动 Cassandra,并为最大堆大小分配更保守的 1GB,为 NewGen 分配 400MB:

-Xms1G
-Xmx1G
-Xmn400M

Windows 支持

我还想让您知道,Cassandra 3.11 对 Windows 的支持非常有限,并且由于操作系统的限制,有几个已知问题无法修复。

此外,由于缺乏维护人员和测试 (CASSANDRA-16171),Cassandra 4.0 中完全放弃了 Windows 支持。

作为一种解决方法,我们推荐以下方法:

Deploy Cassandra in Docker 使用 VirtualBox 等软件在 VM 中部署 Cassandra 部署K8ssandra.io

如果您只是想以 Cassandra 作为后端来构建应用程序,Astra DB 提供免费套餐,让您只需点击几下即可启动 Cassandra 集群,而无需信用卡。干杯!

【讨论】:

【参考方案2】:

伙计们,我从各处删除了 Docker(也包括隐藏文件)并重新安装。 并对datastax 做了同样的事情。 问题现在解决了。

【讨论】:

以上是关于Cassandra-windows 10的主要内容,如果未能解决你的问题,请参考以下文章

Meet Professor Cassandra Fraser

Cassandra 更新无法正常工作

Cassandra 数据模型

Cassandra 简介

后缀 - 必须先发出 STARTTLS 命令

SparkR 作业处理依赖项