Развертывание компоновочных блоков с помощью Solution Central
В этом сценарии база данных и ThingWorx устанавливаются в системе и выполняется развертывание компоновочных блоков для экземпляра ThingWorx с помощью Центра решений.
Выполните следующие шаги в приведенных разделах:
Предварительные условия
Перед развертыванием компоновочных блоков выполните следующие предварительные условия.
Просмотрите требования к системе компоновочных блоков, в том числе информацию о совместимости версий ThingWorx. Дополнительные сведения см. в разделе Требования к системе.
Просмотрите требования к системе ThingWorx для совместимой версии ThingWorx. Для получения дополнительной информации см. раздел Требования к системе в центре справки ThingWorx.
Установите совместимую версию ThingWorx. Дополнительные сведения см. в разделе Установка ThingWorx.
Настройте ThingWorx для активации импорта расширений. Для получения дополнительной информации см. раздел Импортирование расширений в ThingWorx Справочном центре.
Удостоверьтесь, что часовой пояс сервера ThingWorx установлен как UTC. Для дополнительной информации см. Установка Java, Apache Tomcat и ThingWorx в справочном центре ThingWorx.
Примените вашу лицензию. Для получения дополнительной информации см. Лицензирование платформы ThingWorx в Центре справки ThingWorx.
Получить доступ к Solution Central. В дополнение к использованию для развертывания компоновочных блоков, Solution Central является рекомендуемым инструментом для перемещения развертывания и настроек между средами ThingWorx, например, из тестовой среды в производственную среду. Для получения дополнительной информации см. ThingWorx Solution Central Help Center.
При установке базы данных в системе Linux установите инструмент sqlcmd.
Установить Microsoft SQL Server Management Studio. Дополнительные сведения см. https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15.
Обновление настройки времени ожидания сценария
Чтобы обновить настройку времени ожидания сценария, администратору ThingWorx необходимо выполнить следующие шаги.
1. На сервере ThingWorx перейдите к папке ThingWorxPlatform.
2. Откройте файл platform-settings.json в текстовом редакторе.
3. Найдите и измените значение настройки ScriptTimeout на 1200.
4. Сохраните и закройте файл platform-settings.json.
5. Перезапустите сервер ThingWorx.
* 
Если в журнале сценариев появится сообщение, подобное приведенному ниже, повторите описанные выше действия для дальнейшего увеличения значения настройки ScriptTimeout:
[message: Execution of Script terminated after : 1200 seconds. Timeout configured for 1200 seconds.]
Для получения дополнительной информации см. раздел Сведения о конфигурации platform-settings.json в Центре справки ThingWorx.
Обновите настройки времени ожидания сессии
По умолчанию время ожидания сессии пользователя в состоянии простоя составляет 30 минут.
Чтобы изменить настройку времени ожидания сессии, администратору ThingWorx необходимо выполнить следующие шаги.
1. В ThingWorx перейдите в Система > Подсистема.
2. Откройте UserManagementSubsystem в режиме редактирования.
3. В разделе Конфигурация измените настройку Тайм-аут сессии в состоянии простоя (мин.).
4. Нажмите Сохранить
5. Перезапустите сервер ThingWorx.
Установка драйвера MS SQL JDBC
Если экземпляр ThingWorx сконфигурирован с PostgreSQL как поставщик хранилища данных, выполните следующие шаги, чтобы установить драйвер MS SQL JDBC. Если экземпляр ThingWorx сконфигурирован с MS SQL как поставщик хранилища данных, перейдите к следующему разделу.
1. Загрузите совместимую с JRE11 версию Microsoft JDBC Driver 7.4.1 для драйвера SQL Server по следующей ссылке: https://docs.microsoft.com/en-us/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server-support-matrix?view=sql-server-ver15#sql-version-compatibility.
2. Скопируйте JAR-файл JDBC в каталог lib установки Tomcat: (<TOMCAT_HOME>/lib).
3. Перезапустите сервер Tomcat, чтобы загрузить драйвер JDBC и сделать его доступным для ThingWorx.
Создайте базу данных вашего компоновочного блока и пользователя базы данных
Выполните следующие шаги:
1. Создайте имя пользователя и пароль для пользователя базы данных компоновочного блока в главной базе данных. Следуйте рекомендациям в отношении сложности пароля для базы данных.
Для Windows используйте команду Transact-SQL в Query Editor Microsoft SQL Server Management Studio:
CREATE LOGIN <bbadmin> WITH PASSWORD = '<password>';
В этой команде замените <bbadmin> и <password> на имя пользователя и пароль для пользователя базы данных компоновочного блока.
Для Linux:
1. Откройте командную строку в клиенте Linux.
2. Используйте следующие команды для создания имени пользователя на SQL Server:
sqlcmd –S <database-server-name> -U <sql-administrator-username> -P <sql-administrator-password> \
-Q "create login <bbadmin> with password = '<bbadmin-password>'" \
GO; \
exit
В этой команде замените <database-server-name> на наименование сервера вашей базы данных, <sql-administrator-username> и <sql-administrator-password> - на имя пользователя SQL с правами администратора и пароль, а <bbadmin> и <bbadmin-password> на имя пользователя и пароль для пользователя базы данных компоновочного блока.
2. Создайте базу данных Microsoft SQL Server (MSSQL), в которой будет использоваться компоновочный блок.
Для Windows используйте команды Transact-SQL в Query Editor Microsoft SQL Server Management Studio:
CREATE DATABASE <bbdb> COLLATE SQL_Latin1_General_CP1_CI_AS;
ALTER DATABASE <bbdb> SET READ_COMMITTED_SNAPSHOT ON;
ALTER DATABASE <bbdb> SET ALLOW_SNAPSHOT_ISOLATION ON;
ALTER DATABASE <bbdb> SET ARITHABORT ON;
В этой команде замените <bbdb> на название вашей базы данных.
Для Linux:
1. Откройте командную строку в клиенте Linux.
2. Используйте следующие команды, чтобы создать базу данных SQL Server, заменив переменные на название сервера базы данных, имя пользователя SQL с правами администратора и пароль:
sqlcmd –S <database-server-name> \
-U <sql-administrator-username> -P <sql-administrator-password> \
-Q "create database <bbdb> COLLATE SQL_Latin1_General_CP1_CI_AS; ALTER DATABASE <bbdb> SET READ_COMMITTED_SNAPSHOT ON; ALTER DATABASE <bbdb> SET ALLOW_SNAPSHOT_ISOLATION ON;ALTER DATABASE <bbdb> SET ARITHABORT ON"
В этой команде замените <database-server-name> на название сервера базы данных, <sql-administrator-username> и <sql-administrator-password> на имя пользователя SQL с правами администратора и пароль, и <bbdb> на название вашей базы данных.
3. Создайте пользователя базы данных для имени для входа, созданного на шаге 1. Используйте такое же имя пользователя базы данных, как и имя, использованное для входа в систему.
Используйте команду Transact-SQL в Query Editor в SQL Server Management Studio, открытом для базы данных, созданной на шаге 2:
CREATE USER <bbadmin> FOR LOGIN <bbadmin>;
ALTER ROLE [db_owner] ADD MEMBER <bbadmin>;
В этой команде замените <bbadmin> на имя для входа, созданное на шаге 1.
Для Linux:
1. Откройте командную строку в клиенте Linux.
2. Используйте следующие команды, чтобы создать пользователя базы данных для компоновочного блока базы данных, замените переменные на название сервера базы данных и имя пользователя SQL с правами администратора и пароль:
sqlcmd –S <database-server-name> \
-U <sql-administrator-username> -P <sql-administrator-password> \
-Q "use <bbdb>; create user <bbadmin> for login <bbadmin>;ALTER ROLE [db_owner] ADD MEMBER <bbadmin>"
В этих командах замените <database-server-name> на название сервера базы данных, <sql-administrator-username> и <sql-administrator-password> на имя пользователя SQL с правами администратора и пароль, <bbdb> - на название вашей базы данных, <bbadmin> - на имя для входа, созданное на этапе 1.
Развертывание компоновочных блоков с помощью Solution Central
* 
При развертывании компоновочных блоков в системе ThingWorx HA рекомендуется уменьшить кластер для одного экземпляра, установить расширения и затем вернуть кластер в изначальное положение. Это обеспечить повышение производительности и предотвратит проблемы с окончательной согласованностью, поскольку новые расширения будут загружаться при запуске каждого сервера. Дополнительные сведения см. в Управление расширениями ThingWorx в ThingWorx HA в Центре справки ThingWorx.
Чтобы развернуть компоновочные блоки для вашего экземпляра ThingWorx с помощью Solution Central, администратор ThingWorx должен выполнить следующие шаги:
1. Убедитесь, что ваша Лицензия установлена в ThingWorx Composer. Дополнительные сведения см. в статье технической поддержки в базе знаний PTC.
2. Установка Solution Central. Дополнительные сведения см. в разделе Getting Started with Using Solution Central в Solution Central Help Center.
3. Зарегистрируйте экземпляр ThingWorx в Solution Central. Дополнительные сведения см. в разделе Registering Your ThingWorx Instance в Solution Central Help Center.
4. В ThingWorx Composer перейдите в Управление > Solution Central > Решения PTC.
5. Установите флажки для компоновочных блоков, которые нужно развернуть. Доступны следующие наборы компоновочных блоков.
Manufacturing Building Blocks
6. Щелкните Развернуть одним щелчком. Откроется окно со списком всех расширений для развертывания.
7. Нажмите на Развернуть все.
Расширения загружаются и устанавливаются. Это может занять несколько минут. Вы получите уведомление о завершении процесса.
Для получения дополнительной информации см. ThingWorx Solution Central Help Center.
Выполните сервис InitializeSolution
Запустите сервис InitializeSolution, чтобы настроить вещь базы данных для подключения к базе данных компоновочных блоков, создать таблицы базы данных и зарегистрировать вещи диспетчера для компоновочных блоков.
Чтобы запустить сервис, администратор ThingWorx должен выполнить следующие шаги.
1. В ThingWorx Composer перейдите к вещи PTC.Base.Manager.
2. Получить параметры конфигурации:
a. В разделе Сервисы найдите и выполните службу GetSolutionDeploymentConfigurationParameters. Выходные данные службы записываются в формате JSON, содержащем параметры конфигурации для службы InitializeSolution, изменяющейся динамически в зависимости от набора компоновочных блоков. JSON с выходными данными службы аналогичен следующему:
{
"databaseUser": {
"types": [
"STRING"
],
"description": "Name of the database user used for DPM database Thing",
"optional": false
},
"twxAdminUserName": {
"types": [
"STRING"
],
"description": "Thingworx Admin Username",
"optional": false
},
"overrideComponentDeploymentState": {
"types": [
"BOOLEAN"
],
"description": "If true, the current component deployment state is ignored and the DeployComponent service will be rerun.",
"optional": true
},
"twxAdminPassword": {
"types": [
"STRING"
],
"description": "Thingworx Admin Password",
"optional": false
},
"databasePassword": {
"types": [
"STRING"
],
"description": "Password of the database user used for DPM database Thing",
"optional": false
},
"twxURL": {
"types": [
"STRING"
],
"description": "Thingworx URL",
"optional": false
},
"databaseJDBCString": {
"types": [
"STRING"
],
"description": "JDBC Connection String for the DPM database Thing",
"optional": false
},
"databaseThing": {
"types": [
"STRING"
],
"description": "The default database thing (PTC.DBConnection.MSSQLDatabase)",
"optional": true
}
}
b. Скопируйте данные JSON, возвращенные в выходные данные сервиса, и вставьте их в текстовый редактор.
c. Отредактируйте данные JSON, заменяя содержимое в фигурных скобках для каждого параметра конфигурации со значением, определенным для предприятия.
databaseUser: имя для входа пользователя базы данных с правами системного администратора.
twxAdminUserName: имя пользователя ThingWorx с правами администратора.
twxAdminPassword: пароль пользователя ThingWorx с правами администратора.
databasePassword: пароль для входа пользователя базы данных с правами системного администратора.
databaseJDBCString: строка подключения JDBC для базы данных компоновочных блоков.
twxURL: URL экземпляра ThingWorx.
databaseThing: вещь базы данных по умолчанию (PTC.DBConnection.MSSQLDatabase).
Ниже приведен пример отредактированных данных JSON:
{
"databaseUser": "<bbadmin>",
"twxAdminUserName": "Administrator",
"twxAdminPassword": "<twxadminpassword>",
"databasePassword": "<password>",
"databaseJDBCString": "jdbc:sqlserver://<databaseHost>:<databasePort>;databaseName=<bbdatabaseName>",
"twxURL": "http://<host>:<port>/Thingworx",
"databaseThing": "PTC.DBConnection.MSSQLDatabase"
}
Ниже приведен пример отредактированных данных JSON с фактическими значениями:
{
"databaseUser": "BBadmin",
"twxAdminUserName": "Administrator",
"twxAdminPassword": "ThingWorx!BB9876",
"databasePassword": "945DaTaBase!39525",
"databaseJDBCString": "jdbc:sqlserver://localhost:1433;databaseName=dpmdb",
"twxURL": "http://MyCompany.com:8080/Thingworx",
"databaseThing": "PTC.DBConnection.MSSQLDatabase"
}
3. В разделе Сервисы найдите и выполните службу InitializeSolution, используя отредактированные данные JSON из шага 2.c в качестве входного параметра для сервиса deploymentConfig.
Когда служба завершится, в выходных данных отобразится описание таблицы данных развернутых компоновочных блоков и состояние их конфигурации: Configured, Not Configured или Error. Если у какого-либо компоновочного блока статус Error или Not Configured, выполните следующие шаги для диагностики неисправности.
a. Убедитесь, что учетные данные, указанные в файле JSON, действительны, а затем выполните службу InitializeSolution.
b. Для всех компоновочных блоков, у которых сохраняется статус выходных данных службы как Error или Not Configured, необходимо проверить журналы ошибок сценария и приложения ThingWorx, и устранить обнаруженные ошибки. Затем выполните службу InitializeSolution.
c. Если у какого-либо компоновочного блока сохраняется статус выходных данных службы как Error или Not Configured, обновите JSON для включения следующих данных и выполните службу InitializeSolution:
"overrideComponentDeploymentState": true
Запуск сервиса UpdateDBSchema
Запустите сервис UpdateDBSchema, чтобы применить необходимые ограничения к таблицам базы данных.
Чтобы запустить сервис, администратор ThingWorx должен выполнить следующие шаги.
1. В ThingWorx Composer перейдите к вещи PTC.DBConnection.Manager.
2. В разделе Сервисы найдите и выполните службу UpdateDBSchema.
После завершения работы сервиса таблица данных, показывающая обновление базы данных, отображается на панели выходных данных сервиса.
Было ли это полезно?