API карт | On-Premise | 2GIS Documentation
On-Premise

Обновление API для работы с картами

  1. Убедитесь, что в реестре Docker находится новый образ сервиса MapGL JS API. См. Релизы сервисов.

  2. Обновите настройки в конфигурационном файле values-mapgl.yaml, если необходимо. См. пример файла в руководстве по установке.

  3. Выполните команду для обновления сервиса:

    helm upgrade --version=1.4.5 --atomic --values ./values-mapgl.yaml mapgl-js-api 2gis-on-premise/mapgl-js-api
    

Вы можете обновить сервис Tiles API как вместе с его данными (самими тайлами), так и без их обновления.

  1. Убедитесь, что в реестре Docker находится новый образ сервиса Tiles API. См. Релизы сервисов.

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

  2. Обновите настройки в конфигурационном файле values-tiles.yaml, если необходимо. См. пример файла в руководстве по установке.

  3. Выполните команду для обновления сервиса.

  • Чтобы обновить только сервис:

    helm upgrade --version=1.4.5 --atomic --values ./values-tiles.yaml tiles-api 2gis-on-premise/tiles-api --set importer.enabled=false
    
  • Чтобы обновить сервис и данные:

    helm upgrade --version=1.4.5 --atomic --values ./values-tiles.yaml tiles-api 2gis-on-premise/tiles-api
    

    Свежезагруженные файлы после каждого обновления хранятся в новом кейспейсе (keyspace) в Cassandra. Название кейспейса генерируется на основе:

    • типа данных (web или raster),
    • названия кластера Cassandra,
    • Unix-времени в момент генерации манифеста.

    Пример названия кейспейса: dgis_tileserver_web_test_1653477379.

    Все данные в прежнем кейспейсе становятся ненужными после успешного переключения на новый кейспейс. Для экономии места на диске рекомендуется удалять старые кейспейсы. Это можно делать автоматически следующим образом:

    1. В настройке importer.cleaner.enabled укажите значение true.

    2. В настройке importer.cleaner.limit укажите количество старых кейспейсов, которые нужно хранить. Например, 1 означает, что будет оставлен всего один ненужный кейспейс, а все более старые будут удалены. Обратите внимание, что этот лимит не может быть менее 1, так как это привело бы к удалению кейспейса, являющегося текущим на момент выполнения helm upgrade.

    3. По умолчанию удалённые данные всё ещё будут занимать дисковое пространство в виде снимков (snapshots) в Cassandra. Удалить устаревшие снимки можно вручную с помощью nodetool clearsnapshot, или можно настроить автоматическое удаление через JMX:

      1. Убедитесь, что в вашей конфигурации Cassandra включён удалённый доступ по JMX.
      2. Задайте настройки cassandra.credentials.jmxUser и cassandra.credentials.jmxPassword.
      3. В настройке importer.clearSnapshots укажите значение true.