Проблемы запуска SberMobile Server

SberMobile Server может отображать сообщение об ошибке или же запускаться успешно, но не принимать входящие соединения от устройств или клиентов. Это означает, что возможно есть серьезные ошибки во время запуска сервера. Проверьте файл журнала SberMobile Serverа, чтобы найти причину ошибки. Этот файл по умолчанию называется server.log и находится в директории инсталляции SberMobile Serverа. См раздел Настройка журналирования.

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

Лицензия повреждена

Сообщение об ошибке появляющется на SberMobile Server, запущенном на Linux или Mac OS без корневых полномочий. Для исправления данной ситуации перезапустите сервер с корневыми полномочиями.

Для Mac OS (с учетом того, что приложение установлено в папке /Application/SberMobile/):

sudo /Applications/SberMobile/sbermobile_iiot_server.app/Contents/MacOS/JavaApplicationStub

Для Linux:

su

service sbermobile_iiot_server_service start

Появление сообщения: "не удалось запустить JVM. Главный метод мог сгенерировать исключение".

Это сообщение означает, что критическая ошибка произошла во время запуска JVM. Чтобы увидеть само сообщение об ошибке, которое позволит диагностировать проблему, используйте загрузчик sbermobile_iiot_server_console , чтобы запустить SberMobile Server.

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

Для этого следует перейти в Start Menu > Run, набрать cmd и кликнуть OK. Откроется окно интерпреторатора командной строки. Теперь наберите SberMobile/sbermobile_iiot_server_console , чтобы запустить модуль запуска.

Появление сообщения: "невозможно зарезервировать достаточное пространство для кучи объектов"

Когда Вы попытаетесь запустить SberMobile Server, Вы можете увидеть следующее сообщение:

Error occurred during initialization of VM

Could not reserve enough space for object heap

The JVM could not be started. The main method may have thrown an exception.

Это означает, что Виртуальная машина Java не может назначить объем памяти, заданный параметров загрузчика -Xmx (максимальная память) в одном непрерывном блоке. Существует несколько возможных решений:

  • Уменьшить значение параметра -Xmx , если Ваш SberMobile Server не слишком загружен.
  • Попытаться высвободить часть памяти путем отмены загрузки приложений, перезагружающих машину.
  • Выделить дополнительную память компьютеру, на котором запущен SberMobile Server.
  • На ПК с Windows некоторые приложения могут регистрировать собственные динамические библиотеки (DLLs), располагающиеся в памяти по определенному абсолютному адресу. Это делит память на несколько блоков и не позволяет JVM SberMobile Server назначать один крупный блок памяти. Чтобы решить эту проблему, следует использовать редактор реестра для удаления всех введенных данных с HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsNTCurrentVersionWindowsAppInit_DLLs. Сначала следует сделать резервную копию!

Появление сообщения об ошибке запуска сервиса базы данных

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

  • Отключить пул соединений с БД
  • Запусить сервер и дождаться появления сообщения об ошибке
  • Найти окончание файла журнала сервера (server.log по умолчанию), чтоб определить основную причину проблем с БД.
  • Если Вы используете сервер баз данных mysql, поставляющийся совместно с SberMobile, скорее всего не запустился сервис MySQL. Проверьте файлы SberMobilemysqldata*.err на наличие ошибок. Поскольку сервер баз данных mysql, поставляющийся совместно с SberMobile, настроен на высокую производительность, он может быть неспособен назначать достаточный объем буферной памяти на некоторых ПК. В этом случае следует уменьшить значения параметров innodb_buffer_pool_size и innodb_buffer_pool_size в конфигурационном файле MySQL (SberMobilemysqlmy.ini).

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

Если SberMobile Server был запущен, но к нему невозможно подключиться при помощи SberMobile IIoT Platform Client и Web UI, возможно, сервер все еще находится в процессе загрузки. Проверьте файл журнала сервера (server.log), чтобы узнать, не выполняет ли сервер какую-либо длительную операцию, такую как, например, обслуживание БД.  Пожалуйста, свяжитесь с группой тех поддержки SberMobile, если на загрузку сервера уходит больше 3-5 минут.

Неправильная версия java (JRE/JDK) используется %ls%ом для linux

Откройте файл запуска SberMobile Server (это shell-скрипт) для редактирования и отмените преобразование строки INSTALL4J_JAVA_HOME_OVERRIDE в комментарии. Укажите правильный путь JRE/JDK в этой строке:

#!/bin/sh

# Uncomment the following line to override the JVM search sequence

INSTALL4J_JAVA_HOME_OVERRIDE=/usr/java/path

# Uncomment the following line to add additional VM parameters