Вы не запускаете Cassandra с помощью сценария cassandra.bat
. Просто используйте cassandra
:
C:\> cd C:\Program Files\apache-cassandra-3.11.11\bin
C:\Program Files\apache-cassandra-3.11.11\bin> cassandra
Разрешения Powershell
Вам потребуется предоставить разрешения Powershell для учетной записи Windows, на которой выполняется сценарий Cassandra.
Вы можете предоставить разрешения всем учетным записям Windows на вашем компьютере с помощью:
C:\> powershell Set-ExecutionPolicy Unrestricted
ВНИМАНИЕ. Чтобы указанная выше команда работала, вам необходимо запустить командную строку от имени администратора.
В качестве альтернативы вы можете предоставить неограниченный доступ только вашему текущему пользователю с помощью:
C:\> powershell Set-ExecutionPolicy -Scope CurrentUser Unrestricted
Размер кучи
Если ваш ноутбук/настольный компьютер имеет только 8 ГБ оперативной памяти, вы получите эту ошибку при запуске:
Error occurred during initialization of VM
Could not reserve enough space for object heap
По умолчанию Cassandra попытается запуститься с 2 ГБ памяти, выделенной для кучи на компьютерах с 8 ГБ. Но если свободной памяти недостаточно, Java не сможет зарезервировать ее для кучи JVM.
Вам нужно будет запустить Cassandra с более консервативным распределением 1 ГБ для максимального размера кучи и 400 МБ для NewGen, раскомментировав следующие строки в разделе «Настройки кучи» conf/jvm.options
:
-Xms1G
-Xmx1G
-Xmn400M
Поддержка Windows
Я также хотел сообщить вам, что поддержка Windows в Cassandra 3.11 очень ограничена, и есть несколько известных проблем, которые не будут исправлены из-за ограничений операционной системы.
Кроме того, поддержка Windows полностью прекращена в Cassandra 4.0 из-за отсутствия специалистов по сопровождению и тестирования (CASSANDRA-16171).
В качестве временного решения мы рекомендуем следующее:
Если вы просто хотите создавать приложения с Cassandra в качестве серверной части, Astra DB имеет уровень бесплатного пользования, который позволяет запускать кластер Cassandra в несколько кликов без необходимости кредитной карты. Привет!
Самый простой способ запустить Cassandra в Windows — использовать Docker.
Попробуйте спросить на Super User, не знаю, повезет ли вам на веб-сайте программирования.
@AlexOtt да, на моем компьютере есть Docker, терминатор собственной команды docker работает нормально. Я предполагаю, что причина, по которой Cassandra CQL Shell не работает, как-то связана с разрешениями powershell. Но я не мог найти, как я собираюсь дать разрешение
Судя по сообщению об ошибке (я не знаю Cassandra): похоже, пакетный файл по ошибке передает что-то, что не является сценарием PowerShell (
.ps1
), вpowershell.exe -f
, и, как ни странно, что-то кажется быть каталогом .Это не проблема Кассандры. Это проблема вашей машины.