Skip To Content

Файл конфигурации GeoEvent Server

Файл конфигурации ArcGIS GeoEvent Server (ArcGISGeoEvent.cfg) хранит конфигурацию запуска для GeoEvent Server. По большей части записи в этом файле не должны быть изменены. В некоторых случаях может потребоваться изменить файл конфигурации, как описано ниже.

Нумерация строк конфигурации

Обратите внимание, что в файле ArcGISGeoEvent.cfg каждая строка свойства wrapper.java.additional имеет связанный с ней номер, начиная с 1 для первого свойства и начиная с него:

wrapper.java.additional.1=-Dkaraf.home="%KARAF_HOME%"
wrapper.java.additional.2=-Dkaraf.base="%KARAF_BASE%"

Эти номера индексов важны, и необходимо поддерживать их точный порядок. При добавлении или комментировании отдельных строк обязательно проверяйте индексы на точность.

Мониторинг GeoEvent Server с помощью JMX

JMX – это Java Management Extension, которое реализует интерфейсы управления для управления и мониторинга приложений Java. Это полезно, когда вам нужно следить за состоянием GeoEvent Server. Вы можете включить JMX, добавив следующие строки кода в файл конфигурации.

#Uncomment to enable jmx settings
wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1009
wrapper.java.additional.n=-Dcom.sun.management.jmxremote.authenticate=false
wrapper.java.additional.n=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.n=-Dcom.sun.management.jmxremote.local.only=false
# Uncomment to enable jmx settings
wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1009
wrapper.java.additional.n=-Dcom.sun.management.jmxremote.authenticate=false
wrapper.java.additional.n=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.n=-Dcom.sun.management.jmxremote.local.only=false

Вам нужно будет заменить n в приведенных выше строках на порядковый номер для данного параметра. См. пример ниже:

# Minimum and Maximum Java Heap Sizes
wrapper.java.additional.13=-Xms1g
wrapper.java.additional.14=-Xmx4g
# Uncomment to enable jmx settings
wrapper.java.additional.15=-Dcom.sun.management.jmxremote.port=1009
wrapper.java.additional.16=-Dcom.sun.management.jmxremote.authenticate=false
wrapper.java.additional.17=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.18=-Dcom.sun.management.jmxremote.local.only=false

Настройте аутентификацию JMX

Приведенные выше примеры предоставляют доступ к интерфейсам JMX без какой-либо аутентификации. Любой, кто угадает правильный порт JMX, может получить доступ к данным JMX. Поэтому рекомендуется реализовать правильную схему аутентификации, как описано в разделе Использование пароля и файла доступа в документации по Java Management Extension.

Управление входами при запуске

Вы можете настроить GeoEvent Server, чтобы остановить все входные потоки при запуске GeoEvent Server. Добавление следующего свойства в ваш файл конфигурации и установка значения в true гарантирует, что при запуске GeoEvent Server все входные данные будут в остановленном состоянии.

wrapper.java.additional.n=-DSTOP_INPUTS_ON_STARTUP=true

Еще раз, убедитесь, что используется правильный индекс, как описано выше.

Примечание:

Это свойство полезно в средах разработки, где GeoEvent Server может часто запускаться и останавливаться, и вы хотите убедиться, что элементы в ваших GeoEvent Services готовы получать и обрабатывать данные событий. В производственной системе этот параметр потребует, чтобы кто-то запустил входные данные до получения каких-либо данных. Учитывая уровень автоматизации перезапусков системы и высокую доступность, маловероятно, что взаимодействие с человеком было бы преднамеренно необходимо.

Размер памяти Java (heap)

В операционных системах Linux и Windows ArcGIS GeoEvent Server работает в экземпляре Java Virtual Machine (JVM). Стандартная конфигурация по умолчанию выделяет только 4 ГБ доступной оперативной памяти вашего сервера для этой JVM. Все операции GeoEvent Server, требующие RAM, извлекаются из этого распределения, включая, но не ограничиваясь:

  • Геозона для хранения
  • Кэши событий, такие как Field Enricher Processor
  • Обнаружение инцидента
  • Аналитика, для которой требуется кэш с отслеживанием состояния, такой как обнаружение пробелов, вход и выход
  • Общая производительность при обработке больших объемов данных на высоких скоростях

Наблюдая за производительностью GeoEvent Server, вы можете заметить, что он обычно потребляет максимальный объем памяти (по умолчанию 4 ГБ RAM). Кроме того, вы можете заметить, что количество геозон, которые можно загрузить, ограничено числом, которое меньше, чем вам нужно. Если это так, вы можете увеличить объем оперативной памяти, выделенной для GeoEvent Server.

При распределении оперативной памяти в системе учитывайте все приложения, которые могут быть запущены на компьютере. В производственной среде, где GeoEvent Server в идеале является единственным установленным приложением, разумно ожидать, что для GeoEvent Server будет выделена значительная часть общей памяти компьютера. В средах разработки, где GeoEvent Server может быть одним из нескольких установленных приложений, вы должны тщательно распределять память между различными приложениями. Даже на выделенной машине вы не можете выделить всю память для GeoEvent Server. Для этого есть две причины. Первая – это производительность операционной системы; различным компонентам операционной системы требуется память для выполнения своих различных обязанностей. Рекомендуется предоставить операционной системе примерно 25% ресурсов памяти. Вторая – максимальная настройка памяти JVM 32 ГБ; Windows ограничивает JVM не более 32 ГБ памяти, поэтому нет необходимости устанавливать его выше 32 ГБ.

Помимо установки максимального объема памяти, который может использовать JVM, вы также можете установить минимальное начальное выделение памяти. Когда Java запускается, она изначально выделяет этот минимальный объем памяти. Поскольку он потребляет больше памяти, он будет выделять больше, пока не достигнет своего максимального выделения. Процесс увеличения памяти может быть интенсивным и приводить к остановке GeoEvent Server во время такого распределения памяти. Из-за этого планируйте установить минимальную начальную память как можно ближе или даже больше, чем ваше конечное потребление памяти.

Системные администраторы, которые определили, что машина имеет достаточную доступную оперативную память, и определили, что для развертывания GeoEvent Server требуется больше оперативной памяти, выделенной для экземпляра JVM, на котором запущен GeoEvent Server, могут выполнить следующие шаги, чтобы увеличить объем памяти, доступной для GeoEvent Server, выделив больше оперативной памяти для хостинг JVM.

  1. Остановить сервис ArcGIS GeoEvent Server.

    В Windows убедитесь, что ArcGIS GeoEvent Server и связанный с ней процесс java.exe остановлены.

  2. Найдите файл ArcGIS GeoEvent.cfg и откройте его от имени администратора в текстовом редакторе.

    В Windows файл находится в установочном каталоге GeoEvent Server в папке etc. Расположение каталога по умолчанию: C:\Program Files\ArcGIS\Server\GeoEvent\etc.

  3. Найдите блок Minimum and Maximum Java Heap Sizes.
    Примечание:

    В зависимости от используемой версии GeoEvent Server, индексы для параметров JVM могут отличаться от приведенного ниже рисунка. Перечисленные ниже значения по умолчанию и примеры указаны в гигабайтах (ГБ).

    1. Установите для свойства -Xmx максимальный размер, чтобы ограничить память JVM. См. пример ниже:
      1. Сохранить значение 4ГБ по умолчанию - wrapper.java.additional.[index]=-Xmx4g.
      2. Установите на 16 ГБ - wrapper.java.additional.[index]=-Xmx16g
      3. Установите на 32 ГБ - wrapper.java.additional.[index]=-Xmx32g
    2. Установите для свойства -Xms минимальный начальный размер памяти JVM. См. пример ниже:
      1. Сохранить значение 1ГБ по умолчанию - wrapper.java.additional.[index]=-Xms1g
      2. Установите на 4ГБ—wrapper.java.additional.[index]=-Xms4g
      3. Установите на 16 ГБ - wrapper.java.additional.[index]=-Xms16g
  4. Сохраните файл ArcGIS GeoEvent.cfg и закройте текстовый редактор.
  5. Запустите сервис ArcGIS GeoEvent Server для Windows.

Используя системные инструменты администрирования, убедитесь, что экземпляр JVM (процесс java.exe) для GeoEvent Server никогда не потребляет больше памяти, чем выделено в файле конфигурации ArcGISGeoEvent.cfg, и что для операций GeoEvent Server теперь доступно более 4 ГБ по умолчанию.