您不使用以下方式启动 Cassandracassandra.bat
脚本。只需使用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 RAM,您将在启动时收到此错误:
Error occurred during initialization of VM
Could not reserve enough space for object heap
默认情况下,Cassandra 将尝试在 8GB 计算机上分配给堆的 2GB 内存来启动。但如果没有足够的可用内存,Java 将无法为 JVM 堆保留它。
您需要通过取消注释“堆设置”部分中的以下行来启动 Cassandra,为最大堆大小分配 1GB,为 NewGen 分配 400MB。conf/jvm.options
:
-Xms1G
-Xmx1G
-Xmn400M
Windows 支持
我还想让您知道 Cassandra 3.11 中的 Windows 支持非常有限,并且由于操作系统的限制,有几个已知问题不会得到修复。
此外,由于缺乏维护人员和测试,Cassandra 4.0 中已完全放弃 Windows 支持(卡桑德拉-16171).
作为解决方法,我们建议采用以下方法:
- 在 Docker 中部署 Cassandra
- 使用 VirtualBox 等软件在虚拟机中部署 Cassandra
- Deploy K8ssandra.io
如果您只想使用 Cassandra 作为后端构建应用程序,Astra DB有一个免费套餐,让您只需点击几下即可启动 Cassandra 集群,无需信用卡。干杯!