To upgrade an existing meshIQ Enterprise Manager, see Upgrading an Existing meshIQ Enterprise Manager (Admin Package / Console).
Prerequisites:
- Back up the existing installation directories.
- Back up all databases and schemas.
- Export Secure/User Defined Data using the existing Data Backup option.
- Minimum java 17 required.
- Update the 12.1 license.
Plugin Installation
- Stop all meshIQ services.
- Install plugins in the following sequence.
- Copy the plugins into
[PLATFORM_HOME]/updates.
Run the ./APTNAMES -h command from [PLATFORM_HOME]/naming after installing the core plug-in. Start and Stop the Domain process.
Repeat this step after installing all other plug-ins as well.
-
Navigate to
[PLATFORM_HOME]/bin. From the command prompt, install the latest package:./pkgman ../updates/AP_CORE-12.1.pkg ./pkgman ../updates/AP_AIM-12.1.pkg
-
At this point, using the same procedure as above, install the updated versions of Scheduler and Data Services (if previously installed).
[PLATFORM_HOME]/bin/pkgman ../updates/JOB_SCHEDULER-12.1.pkg
[PLATFORM_HOME]/bin/pkgman ../updates/DATA_SERVICE-12.1.pkg -
Install the below package to obtain the
jdbcmkutility used for database upgrade and migration operations.[PLATFORM_HOME]/bin/pkgman../updates/db-utils-12.1.pkg
-
Install
WGS-12.1.pkgfile and run./ATPNODE -h. Restart the Domain Server and CEP Server.[PLATFORM_HOME]/bin/pkgman../updates/WGS-12.1.pkg
After installing the package, configure and run
jdbcmkto migrate or upgrade the database tables. For more information, see Install, Configure, and Run JDBCMK in meshIQ 12.1.
Currently, the Data Services plugin is required for Manage functionality.
Component Installation
Install and configure the following components before proceeding with the platform deployment:
- ActiveMQ Component Installation and configuration
- Kafka Component Installation and configuration
- Zookeeper Component Installation and Configuration
- Pinot Component Installation and Configuration
Logging Configuration Changes
- Update the
log4j2.xmlfile.- Remove the following entry
packages="com.jkoolcloud.tnt4j.logger.log4j". - Replace
<Logger name="WGSExpert"with"<Logger name="com.nastel.wgs".
- Remove the following entry
Database Migration and Schema Upgrade
If Secure/User Defined Data exists, export the data using the existing version data backup utility before starting the upgrade. After the upgrade is complete, re-import the backed-up data into the upgraded environment.
If you use 2 schemas previously then from 12.1 we recommended 6 schemas.
Schema Layout for Version 12.1
| Component | Recommended Schemas |
| Core Permits | 1 Schema |
| Manage | 1 Schema |
| WGS | 1 Schema |
| Track | 1 Schemas |
| Scheduler | 1 Schema |
| DS | 1 Schema |
- The Core plugin generates:
jdbcmk.shjdbcmk.bat
- These utilities are used to create, upgrade, and migrate schemas.
- Start Domain and CEP servers.
Deploy Permits Expert
Deploy the Permits Expert in the Enterprise Manager.
Configuration Requirements
| Setting | Value |
| Expert Name | Default |
| REST API Port | 8020 |
| Schema | schema names which have tables core_permts. |
REST API Ports
Domain REST API 8018 WGS REST API 8019 Permits REST API 8020
Enable OAuth2 Authentication enabled option in RESTAPI tab for all above 3 experts
If you are upgrading from version 11.x to version 12.1, also upgrade to Apache Tomcat 10. For more information, see Upgrading Apache Tomcat.
Web Application Deployment
Deploy the following WAR files into the Tomcat webapps directory.
- gateway war
- manage war
- manage-server war
- control-center war
- control-center-server war
- ds-api
- observe
- observe-server
- track
Gateway Configuration
- copy
app-switcher.xmlfile in the locationTOMCAT_HOME/conf. - Create one xml file with the name
permits.xmlin the locationTOMCAT_HOME/confand add the below data in the file.
<?xml version="1.0"?>
<!-- Default location for this config file - ${catalina.home}/conf/permits.xml -->
<!-- Change default location with parameter "permits.provider.config" -->
<permits>
<!-- Permits Rest client configuration -->
<clientConfig>
<!-- Permits Rest Server URL, like http://localhost:8019/ -->
<url>http://localhost:8020/</url>
<!-- Security type: -->
<!-- none - no authentication is needed -->
<!-- basicAuth - basic authentication (need username and password) -->
<!-- beaererToken - beaerer token (need token) -->
<security>basicAuth</security>
<!-- Authentication username -->
<username>Admin</username>
<!-- Authentication password -->
<password>admin</password>
<!-- Authentication token -->
<token></token>
<!-- SSL parameters -->
<!-- Ignore invalid SSL certificates -->
<ignoreInvalidSslCerticates>false</ignoreInvalidSslCerticates>
<!-- SSL key store type, default JKS -->
<keyStoreType>JKS</keyStoreType>
<!-- SSL key store file path -->
<keyStorePath></keyStorePath>
<!-- SSL key store file password -->
<keyStorePassw></keyStorePassw>
<!-- SSL key store key password -->
<keyStoreKeyPassw></keyStoreKeyPassw>
<!-- SSL trust store file path -->
<trustStoreType>JKS</trustStoreType>
<!-- SSL trust store file password -->
<trustStorePath></trustStorePath>
<!-- SSL trust store key password -->
<trustStorePassw></trustStorePassw>
</clientConfig>
</permits> - Add below properties in
context.xml.
<Parameter name="appswitcher.manager.config" value="/opt/meshiq/platform/apache-tomcat/conf/app-switcher.xml"/> <Parameter name="domain.auth.api.url" value="http://localhost:8018/auth/v2"/> <Parameter name="meshiq.gateway.api.url" value="http://localhost:8080/gateway/api/v1/"/> <Parameter name="permits.provider.config" value="/opt/meshiq/platform/apache-tomcat/conf/permits.xml"/> <Parameter name="permits.server" value="http://localhost:8020"/> <Parameter name="meshiq.domain.api.url" value="http://localhost:8018"/> <Parameter name="track.api.url" value="http://localhost:8080/ds-api/jkql"/>
- Add environment variables
- Windows
| variable name | gateway.external.url |
| Variable value | http://IP:8080/gateway |
-
Linux – add the below properties in
Catalina.sh
CATALINA_OPTS="$CATALINA_OPTS -Dautopilot.home=$AUTOPILOT_HOME -Djava.awt.headless=true" CATALINA_OPTS="$CATALINA_OPTS -Dgateway.external.url=http://localhost:8080/gateway"
- Update the
server.xmlfile as required for the MeshIQ deployment. For detailed instructions, see Required Server.xml Configuration Changes for MeshIQ 12.1 Deployment.
Required Tomcat Libraries
All Jar files versions should be match with the current ActiveMQ version.
- Add below jar files in
tomcat/liblocation.
activemq-client-6.1.7 checker-qual-3.51.1 hawtbuf-1.11 jarkarta.jms-42.7.7 slf4j-api-2.0.17
- Start the Tomcat service.
- After starting the Tomcat Service, access the Manage web application using below url. It will redirect to Gateway login page.
http://localhost:8080/manage
Scheduler Configuration
If Scheduler does not initialize correctly, update the following properties in the properties file located at the location: /opt/meshiq/platform/scheduler/config
- Enable:
#Embedded/Single-JVM job.sched.cache.register = com.nastel.fatpipes4j.impl.guava.GuavaCacheRegister job.sched.pipe.factory = com.nastel.fatpipes4j.impl.embedded.EmbeddedPipeFactory job.sched.manifold.factory = com.nastel.fatpipes4j.impl.embedded.EmbeddedManifoldFactory
- Comment the following properties in the
global.propertiesfile located at the location/opt/meshiq/platform
;property job.sched.pipe.factory=com.nastel.fatpipes4j.impl.kafka.KafkaPipeFactory
;property job.sched.manifold.factory=com.nastel.fatpipes4j.impl.kafka.KafkaManifoldFactory
;property job.sched.kafka.server={jkool.kafka.server}
;property job.sched.kafka.security.protocol={jkool.kafka.security.protocol}
;property job.sched.kafka.sasl.mechanism={jkool.kafka.sasl.mechanism}
Permits expert – must have core tables schema name (meshiq_core).
WGS expert – The General tab must have apwmq schema name (meshiq_wgs) and the Authentication tab must have permits expert name.
server.xml - must have nastel_apwmq(meshiq_wgs) and nastel_permv3(meshiq_manage) .
Other Configurations
-
Create
cep-ds propertiesfile at/opt/meshiq/platformand include the following properties.# Data Services SQL connection jkool.db.sql.driver=org.postgresql.Driver jkool.db.sql.url=jdbc:postgresql://localhost:5432/nastel_ds jkool.db.sql.schema=nastel_ds jkool.db.sql.user=postgres jkool.db.sql.pwd=nastel # Data Services Pinot connections jkool.db.pinot.controller.url=http://localhost:9000 jkool.db.pinot.broker.url=http://localhost:8099 jkool.db.pinot.jdbc.driver=org.apache.pinot.client.PinotDriver jkool.db.pinot.kafka.server=localhost:9092
-
Copy the
ds-db-utils12.1.0.tar.gzfile to the/opt/meshiq/misc/dbapidirectory, navigate to that directory, and run the following commands:tar -zxvf ds-db-utils-11.3.2.tar.gz unlink current ln -s ds-db-utils-11.3.2 current
-
In the
/opt/meshiq/sbindirectory, update theconfig.shfile by replacing the old property with the new property.Old property New Property ./jkool-cmd.sh -loadlic -f:$LICPATH -C:http://$SOLRHOST:$SOLRPORT -U:Administrator -P:"${AdminPass}" | tee $APIN_HOME/logs/Track_load_license.log 2>&1./jkool-cmd.sh -loadlic -f:$LICPATH -CF:$APM6_HOME/cep-ds.properties -U:Administrator -P:"${AdminPass}" | tee $APIN_HOME/logs/Track_load_license.log 2>&1 -
copy the license file to the
/opt/meshiq/misc/licensedirectory and then run the following command../config.sh lic
- Add the below properties in
Catalina.sh.
If the properties already exists, ignore this step.
CATALINA_OPTS="$CATALINA_OPTS -Dtrack.api.url=http://loalhost:8080/ds-api/jkql" CATALINA_OPTS="$CATALINA_OPTS -Djkool.dbapi.skip.ext.provider=true" CATALINA_OPTS="$CATALINA_OPTS -Dtrack.auth.token=1298eae0-b27c-4175-9081-aa665c49e653" CATALINA_OPTS="$CATALINA_OPTS -Dmeshiq.gateway.api.url=http://localhost:8080/gateway/api/v1"
- Update the
lax.nl.java.option.additionalproperties in theATPNODE.laxfile as shown below.
lax.nl.java.option.additional=-server -Xms1G -Xmx4G -XX:MaxDirectMemorySize=1G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Djava.awt.headless=true -Dtnt4j.config=../tnt4j.properties -Dlog4j2.configurationFile=../log4j2.xml -Dtnt4j.file.repository.refresh=0 -Dtnt4j.default.event.factory=com.jkoolcloud.tnt4j.sink.impl.slf4j.SLF4JEventSinkFactory -Djava.net.preferIPv4Stack=true -Dtnt4j.file.repository.refresh=0 -Djava.io.tmpdir=../tmp --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.time=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED --add-opens java.sql/java.sql=ALL-UNNAMED --add-opens java.base/sun.util.calendar=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
Track Data Migration
After completing the Track upgrade, migrate the Track UI data.
For information about migrating Track UI data, see Data Migration from 11.x to 12.x.