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

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

  1. Получите новые артефакты для установки.

    Чтобы загрузить артефакты только для сервиса MapGL JS API, добавьте параметр --services=mapgl-js-api после команды pull. Без этого параметра по умолчанию будут загружены артефакты для всех сервисов.

    См. справку по командам и аргументам 2GIS CLI.

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

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

    helm upgrade --version=1.21.0 --atomic --values ./values-mapgl.yaml mapgl-js-api 2gis-on-premise/mapgl-js-api
    
  4. Проверьте работоспособность сервиса.

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

  1. Получите новые артефакты для установки.

    • Чтобы обновить только образ сервиса, добавьте флаг --only-apps после команды pull.
    • Чтобы обновить только данные, добавьте флаг --only-data после команды pull.
    • Чтобы обновить и сервис, и данные, выполните команду без добавления флагов выше.

    См. справку по командам и аргументам 2GIS CLI.

  2. Скопируйте путь к новому файлу манифеста из консольного вывода команды и подставьте его в параметр dgctlStorage.manifest в конфигурационном файле values-tiles.yaml. Подробнее см. в руководстве по установке.

    Важно

    Вы можете настроить процесс импорта новых данных для Tiles API. За это отвечают настройки группы importer конфигурационного файла. Если при очередном обновлении сервиса Tiles API вы не хотите импортировать новые данные, используйте тот же манифест, что и в предыдущем импорте. В остальных случаях рекомендуется использовать новый манифест.

  3. Ознакомьтесь сo списком критических изменений. Если необходимо, обновите другие настройки в конфигурационном файле values-tiles.yaml.

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

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

      helm upgrade --version=1.21.0 --atomic --wait --timeout 7200s --values ./values-tiles.yaml tiles-api 2gis-on-premise/tiles-api --set importer.enabled=false
      
    • Чтобы обновить только данные, подставьте текущую установленную версию комплекса On-Premise в параметр --version:

      helm upgrade --version=VERSION --atomic --wait --timeout 7200s --values ./values-tiles.yaml tiles-api 2gis-on-premise/tiles-api
      
    • Чтобы обновить сервис и данные:

      helm upgrade --version=1.21.0 --atomic --wait --timeout 7200s --values ./values-tiles.yaml tiles-api 2gis-on-premise/tiles-api
      
  5. Проверьте работоспособность сервиса.

  1. Получите новые артефакты для установки.

    • Чтобы обновить только образ сервиса, добавьте флаг --only-apps после команды pull.
    • Чтобы обновить только данные, добавьте флаг --only-data после команды pull.
    • Чтобы обновить и сервис, и данные, выполните команду без добавления флагов выше.

    Чтобы загрузить артефакты только для сервиса Floors API, добавьте параметр --services=floors-api после команды pull. Без этого параметра по умолчанию будут загружены артефакты для всех сервисов.

    См. справку по командам и аргументам 2GIS CLI.

  2. Скопируйте путь к новому файлу манифеста из консольного вывода команды и подставьте его в параметр dgctlStorage.manifest в конфигурационном файле values-floors-api.yaml. Подробнее см. в руководстве по установке.

    Важно

    Вы можете настроить процесс импорта новых данных для Floors API. За это отвечают настройки группы import конфигурационного файла. Если при очередном обновлении сервиса Floors API вы не хотите импортировать новые данные, используйте тот же манифест, что и в предыдущем импорте. В остальных случаях рекомендуется использовать новый манифест.

  3. Ознакомьтесь сo списком критических изменений. Если необходимо, обновите другие настройки в конфигурационном файле values-floors-api.yaml.

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

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

      helm upgrade --version=1.21.0 --atomic --values ./values-floors-api.yaml floors-api 2gis-on-premise/floors-api
      
    • Чтобы обновить только данные, подставьте текущую установленную версию комплекса On-Premise в параметр --version:

      helm upgrade --version=VERSION --atomic --values ./values-floors-api.yaml floors-api 2gis-on-premise/floors-api
      
  5. Проверьте работоспособность сервиса.

Для хранения данных о тайлах сервис использует пространства ключей (keyspace) в Cassandra.

Если настройки безопасности позволяют автоматическое создание пространств ключей, то при обновлении сервиса будет создано новое пространство, а затем сервис переключится на него.

После переключения все данные в прежнем пространстве ключей становятся ненужными. Часть предыдущих пространств можно хранить в качестве резерва, а остальные удалять для экономии места на диске.

Чтобы автоматически удалять старые данные:

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

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

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

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