Запуск vespa в отдельном контейнере для configserver и сервисов - PullRequest
1 голос
/ 27 июня 2019

Я ссылался на ссылку https://docs.vespa.ai/documentation/docker-containers-in-production.html для управления сервером конфигурации и службами в двух разных контейнерах Docker.

У меня есть одна машина, на которой я пытаюсь запустить отдельные контейнеры для configserver (одинконтейнер) и сервисы (один контейнер)

Но я не могу понять, для чего нужен контейнер сервисов, так как я все еще могу работать только с запущенным контейнером сервера конфигурации.

Команды Docker, которые я выполняю:

Запуск Docker --hostname vespa-cfg --name vcfg --privileged -e VESPA_CONFIGSERVERS = vespa-cfg -p 19071: 19071 -p7070: 8080 -d vespaengine / vespa: 6.330.51 configserver

запуск Docker - имя_хоста vespa-ssrv --name vsrv --privileged -e VESPA_CONFIGSERVERS = vespa-cfg -p 7080: 8080 -d vespaengine / vespa: 6.330.51 сервисы

Я добавил следующее в мои hosts.xml

<hosts>
  <host name="vespa-cfg">
    <alias>server01</alias>
  </host>
  <host name="vespa-ssrv">
    <alias>service01</alias>
  </host>
</hosts>

И в services.xml

<services version="1.0">
    <admin version="1.0">
    <adminserver hostalias="server01"/>
    <configservers>
        <configserver hostalias="server01"/>
    </configservers>
    </admin>

    <container id="default-container" version="1.0">
        ...
        <nodes>
            <node hostalias="service01" />
        </nodes>
        ...
    </container>

    <content id="default-content" version="1.0">
        ...
        <nodes>
            <node hostalias="service01" distribution-key="0" />
        </nodes>
        ...
    </content>
</services>

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

API запросов также работают с сервером конфигурации на порту 7070, а не на службах 7080.

Пожалуйста, помогите.

1 Ответ

2 голосов
/ 27 июня 2019

Короче говоря, configserver (s) настраивает узлы служб.Это сервисные узлы, которые обрабатывают и хранят данные для обслуживания.в больших системах у вас есть 1 или 3 сервера конфигурации и 10/100 узлов служб

Ref https://docs.vespa.ai/documentation/overview.html

В других местах я видел, что у некоторых были проблемы со slobrok (брокером определения местоположения служб) наузлы configserver - это было исправлено запуском vespa-start-services в контейнере configserver (просто войдите в контейнер и выполните команду запуска, а затем проверьте на 7080) - https://docs.vespa.ai/documentation/reference/files-processes-and-ports.html

, когда система работаетправильно, вы должны получить ответ на http://localhost:7080 в вашей конфигурации выше

vespa-logfmt должен дать некоторые идеи о том, в чем проблема

Я также рекомендую использовать последнюю версию, а не6.330.51 - Vespa 7 является текущей основной версией

...