Настройка и запуск Cassandra с аутентификацией
Настройка и запуск Cassandra в Docker с включённой аутентификацией и авторизацией.
Настройка
1. Создание файла docker-compose.yml
Перейдите в нужную директорию и создайте файл docker-compose.yml (при необходимости используйте sudo -i).
docker-compose.yml
services:
cassandra:
image: cassandra:latest
restart: unless-stopped
ports:
- "9042:9042"
volumes:
- ./data/cassandra:/var/lib/cassandra
# - ./conf/cassandra/cassandra.yaml:/etc/cassandra/cassandra.yaml
2. Создание директорий для хранения данных и конфигурации
Создайте необходимые директории для хранения данных и конфигурации Cassandra:
mkdir -p conf/cassandra data/cassandra
Ваша структура должна выглядеть так:
.
├── docker-compose.yml
├── conf
│ └── cassandra
└── data
└── cassandra
3. Запуск контейнера и копирование конфигурационного файла
Запустите контейнер, немного подождите и скопируйте конфигурационный файл cassandra.yaml из контейнера на сервер для дальнейшей настройки:
docker-compose up -d
docker ps
docker cp <container_id>:/etc/cassandra/cassandra.yaml ./conf/cassandra/cassandra.yaml
4. Настройка аутентификации
Откройте файл cassandra.yaml и измените следующие параметры:
cassandra.yaml
...
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer
...
5. Перезапуск контейнера с учётом конфигурации
Вернитесь к файлу docker-compose.yml и раскомментируйте строку с монтированием конфигурационного файла:
docker-compose.yml
volumes:
- ./data/cassandra:/var/lib/cassandra
- ./conf/cassandra/cassandra.yaml:/etc/cassandra/cassandra.yaml
После внесения изменений перезапустите контейнер:
docker-compose down
docker-compose up -d --force-recreate
6. Проверка доступности Cassandra
- Port:
9042 - Username:
cassandra - Password:
cassandra