как настроить кластер arangodb с помощью docker -compose? - PullRequest
0 голосов
/ 14 июля 2020

Я хотел бы настроить кластер в режиме Master / Master (в основном для балансировки нагрузки). Я не хочу (и не забочусь о) шардинга. Я просмотрел документацию, но я немного смущен, поскольку документации, касающейся моего варианта использования, нет. Вот мои файлы docker -compose. Я в основном смущен настройкой агентства и требуемых начальных параметров, а также настройкой db-серверов и требуемых начальных параметров. Вот настройка, которую я собираюсь использовать для

Количество агентств - 3 (на независимых машинах) Координатор + сервер БД - 3 (на независимых машинах)

Вот мои docker файлы компоновки пока.

Узлы агентств (тот же файл используется на 192.168.88.50, 192.168.88.51, 192.168.88.52 для запуска агента и создания агентства из 3)

version: "3.3"
# interaction
services:
  arangodb:
    network_mode: "host"
    image: arangodb/arangodb-starter
    container_name: arangodb-agency
    command: --starter.address=192.168.88.50 --ssl.keyfile /etc/ssl/certs/some_cert.pem --cluster.start-coordinator=false --cluster.start-dbserver=false
    ports:
      - "8528:8528"
      - "8529:8529"
      - "8530:8530"
      - "8531:8531"
    volumes:
      - /etc/ssl/certs:/etc/ssl/certs
      - /etc/arangodb:/etc/arangodb
      - /var/run/docker.sock:/var/run/docker.sock
    restart: always

Со- ordinator + Db-Server узлов (тот же файл, который используется на 192.168.88.34, 192.168.88.35, 192.168.88.36 с соответствующим начальным адресом)

version: "3.3"
# interaction
services:
  arangodb:
    network_mode: "host"
    image: arangodb/arangodb-starter
    container_name: arangodb-agency
    command: --starter.address=192.168.88.34 --ssl.keyfile /etc/ssl/certs/some_cert.pem --starter.data-dir=/data --starter.join=192.168.88.34,192.168.88.35,192.168.88.36
    ports:
      - "8528:8528"
      - "8529:8529"
      - "8530:8530"
      - "8531:8531"
    environment:
      - ARANGO_ROOT_PASSWORD=mx2Zi5nZOYwUuUyx
      - ARANGO_STORAGE_ENGINE=rocksdb
    volumes:
      - /etc/ssl/certs:/etc/ssl/certs
      - /etc/arangodb:/etc/arangodb
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data/arangodb:/data
    restart: always

Мне удалось запустить кластер 192.168.88.34 , 192.168.88.35, 192.168.88.36, но как заставить этот кластер использовать агентство на 192.168.88.50, 192.168.88.51, 192.168.88.52?

на узлах моего агентства, я вижу следующие журналы и неудачные сообщения продолжают повторяться

|INFO| Starting arangodb version 0.14.15, build e32307e component=arangodb
|INFO| Auto detected network mode: host component=arangodb
|INFO| Using storage engine 'rocksdb' component=arangodb
|INFO| Serving as master with ID '52b3504b' on 192.168.88.50:8528... component=arangodb
|INFO| Waiting for 3 servers to show up.
 component=arangodb
|INFO| Use the following commands to start other servers: component=arangodb

docker volume create arangodb2 && \
    docker run -it --name=adb2 --rm --net=host -v arangodb2:/data \
    -v /var/run/docker.sock:/var/run/docker.sock arangodb/arangodb-starter:latest \
    --starter.address=192.168.88.50 --starter.join=192.168.88.50

docker volume create arangodb3 && \
    docker run -it --name=adb3 --rm --net=host -v arangodb3:/data \
    -v /var/run/docker.sock:/var/run/docker.sock arangodb/arangodb-starter:latest \
    --starter.address=192.168.88.50 --starter.join=192.168.88.50

|INFO| ArangoDB Starter listening on 0.0.0.0:8528 (192.168.88.50:8528) using TLS component=arangodb
|INFO| Added new peer 'dc22d9d7': 192.168.88.40, portOffset: 0 component=arangodb
|INFO| Added new peer '72c9849e': 192.168.88.37, portOffset: 0 component=arangodb
|INFO| Starting service... component=arangodb
|INFO| agent starting routine component=arangodb
|INFO| agent started routine component=arangodb
|INFO| Looking for a running instance of agent on port 8531 component=arangodb
|INFO| Starting agent on port 8531 component=arangodb
|INFO| agent up and running (version 3.6.4). component=arangodb
|INFO| Failed to register upgrade plan changed callback component=arangodb error="All 7 attemps resulted in temporary failure"
|INFO| Failed to get master URL, retrying in 5sec component=arangodb error="All 11 attemps resulted in temporary failure"
|INFO| Failed to get master URL, retrying in 5sec component=arangodb error="All 11 attemps resulted in temporary failure"
|INFO| Failed to get master URL, retrying in 5sec component=arangodb error="All 11 attemps resulted in temporary failure"
|INFO| Failed to get master URL, retrying in 5sec component=arangodb error="All 11 attemps resulted in temporary failure"

на моих узлах координатора. Я вижу следующие журналы, и сообщения о сбоях продолжают повторяться

|INFO| Starting arangodb version 0.14.15, build e32307e component=arangodb
|INFO| Auto detected network mode: host component=arangodb
|INFO| ArangoDB Starter listening on 0.0.0.0:8528 (192.168.88.36:8528) using TLS component=arangodb
|INFO| Found ID from localhost peer component=arangodb
|INFO| Found ID '51ae4c03' from peer, looking for '94df6048' component=arangodb
|INFO| Contacting master https://192.168.88.34:8528... component=arangodb
|INFO| Waiting for 3 servers to show up... component=arangodb
|INFO| Serving as slave with ID '94df6048' on 192.168.88.36:8528... component=arangodb
|INFO| Using storage engine 'rocksdb' component=arangodb
|INFO| ArangoDB Starter listening on 0.0.0.0:8528 (192.168.88.36:8528) using TLS component=arangodb
|INFO| agent starting routine component=arangodb
|INFO| agent started routine component=arangodb
|INFO| Looking for a running instance of agent on port 8531 component=arangodb
|INFO| Starting agent on port 8531 component=arangodb
|INFO| dbserver starting routine component=arangodb
|INFO| dbserver started routine component=arangodb
|INFO| Looking for a running instance of dbserver on port 8530 component=arangodb
|INFO| Starting dbserver on port 8530 component=arangodb
|INFO| coordinator starting routine component=arangodb
|INFO| coordinator started routine component=arangodb
|INFO| Looking for a running instance of coordinator on port 8529 component=arangodb
|INFO| Starting coordinator on port 8529 component=arangodb
|INFO| agent up and running (version 3.6.4). component=arangodb
|INFO| Failed to register upgrade plan changed callback component=arangodb error="All 6 attemps resulted in temporary failure"
|INFO| Failed to get master URL, retrying in 5sec component=arangodb error="All 11 attemps resulted in temporary failure"
|INFO| Failed to get master URL, retrying in 5sec component=arangodb error="All 11 attemps resulted in temporary failure"
|INFO| Failed to get master URL, retrying in 5sec component=arangodb error="All 11 attemps resulted in temporary failure"
|INFO| Failed to register upgrade plan changed callback component=arangodb error="All 7 attemps resulted in temporary failure"
...