Для локальной отладки сервиса мне понадобилось установить Apache Cassandra на Windows 10. Нормальный установщик был только у компании DataStax, но они прекратили его поддерживать.
В данной статье я опишу, как установить Apache Cassandra на Windows в виде сервиса.
1. Установка JDK
Для работы Cassandra необходима Java 8 — JavaSE или OpenJDK. На более новых версиях Java Cassandra не стартует.
Перепробовав несколько дистрибутивов OpenJDK я выбрал Amazon Corretto — на нём Cassandra стартовала и работала. С другими дистрибутивами могут возникнуть проблемы.
Скачать Amazon Corretto можно по этой ссылке
При установке необходимо удостовериться, что компонент "Setup Enviroment" включен. Иначе придётся вручную устанавливать переменную окружения 'JAVA_HOME'.
2. Установка Cassandra
2.1. Загрузка необходимого
- Дистрибутив Cassandra берём с этой страницы
- Для того, чтобы превратить Cassandra в сервис необходим
prunsrv.exe
из проекта Apache Commons Daemon. Бинари лежат тут.
2.2 Распаковка
Распаковываем архив с Cassandra в папку, где она будет установлена.
Из архива commons-daemon
копируем файл prunsrv.exe
нужной архитектуры в папка_с_cassandra\bin\daemon
. Если папки daemon
не существует, то её необходимо создать.
2.3 Установка
- Открываем PowerShell с правами администратора.
- Переходим в
папка_с_cassandra\bin
- Выполняем
.\cassandra.ps1 -install
После этого Cassandra будет установлена как сервис, которым можно управлять через консоль управления службами.
3. Опционально
Для работы cqlsh
необходим установленный Python 2.7.
Во многих случаях требуется установить переменную окружения CASSANDRA_HOME
, указывающую на bin
папку Cassandra.
esata
А как же Docker?
buldo Автор
Официальный образ оснан linux, а у меня docker почти всё время запущен в режиме windows. Я понимаю, что можно запустить линуксовый образ, а потом переключить движок докера, но получаем оверхэд на виртуалку с докер хостом.
Есть ещё рабочий способ установки в WSL, однако, как и в случае с установкой через docker cqlsh будет недоступен без бубна