Я довольно новичок в игре с Docker, так что, надеюсь, это все моя вина, но я пытаюсь получить настройку кольца Apache Cassandra с несколькими хостами, используя Docker Compose.Multi host cassandra Docker-compose file issue
У меня есть следующие DOCKER-compose.yml файла
version: '2'
services:
cassandra-1:
hostname: cassandra-1
image: cassandra:latest
command: /bin/bash -c "sleep 1 && echo ' -- Pausing to let system catch up ... -->' && /docker-entrypoint.sh cassandra -f"
expose:
- 7000
- 7001
- 7199
- 9042
- 9160
# volumes: # uncomment if you desire mounts, also uncomment cluster.sh
# - ./data/cassandra-1:/var/lib/cassandra:rw
cassandra-2:
hostname: cassandra-2
image: cassandra:latest
command: /bin/bash -c "sleep 20 && echo ' -- Pausing to let system catch up ... -->' && /docker-entrypoint.sh cassandra -f"
environment:
- CASSANDRA_SEEDS=cassandra-1
links:
- cassandra-1:cassandra-1
expose:
- 7000
- 7001
- 7199
- 9042
- 9160
# volumes: # uncomment if you desire mounts, also uncomment cluster.sh
# - ./data/cassandra-2:/var/lib/cassandra:rw
Этот пример попытки запуска 1-го узла CASSANDRA (CASSANDRA-1), а затем второго узла (CASSANDRA-2) в другой контейнер которые должны быть в состоянии использовать 1-й узел в качестве узла семян для стандартной переменной окружения Кассандры «CASSANDRA_SEEDS»
Однако, когда я запускаю это, я получаю такого рода исключение
cassandra-2_1 | WARN 07:00:35 Seed provider couldn't lookup host cassandra-1
cassandra-2_1 | Exception (org.apache.cassandra.exceptions.ConfigurationException) encountered during startup: The
provider lists no seeds.
cassandra-2_1 | The seed provider lists no seeds.
cassandra-2_1 | ERROR 07:00:35 Exception encountered during startup: The seed provider lists no seeds.
cass2_cassandra-2_1 exited with code 3
Если попытка запустить 2-й узел Кассандры (Cassandra-2) ВСЕГДА выходит из строя, и заканчивается также до убийства в 1-й
cass1_cassandra-1_1 exited with code 137
Если я расколоть докер-compose.yaml файл в 2-х частей , где начало 1-го узла кассандры находится в одном файле. И просто запустите этот узел, используя docker-compose, и все в порядке.
Пожалуйста, обратите внимание, что, когда я беру 2 отдельных докер-compose.yml маршрут файла, один для «Cassandra-1», а другой для «Cassandra-2» я AM, убедившись, что второй файл использует «external_links», а не «ссылки». Но результат тот же
Может ли кто-нибудь с немного более опытным докером сказать мне, где я иду не так.
Я просмотрел веб-страницы для других примеров, и все, похоже, делают это так же, как и я. Но мой просто не работает.
Чувствуя совсем потерялась, пожалуйста, помогите
К сожалению, это не имело никакого значения. Такая же ошибка. Я запускаю Docker на окнах, я дал этот файл пользователю Linux-докера, и они сказали, что он просто сработал. Grrrr – sacha