To upgrade an existing meshIQ Enterprise Manager, see Upgrading an Existing meshIQ Enterprise Manager (Admin Package / Console).
For the Deployment Pack upgrade, see meshIQ Platform Deployment Pack Upgrade steps form 11.x to 12.x
Prerequisites:
- Back up the existing installation directories.
- Back up all databases and schemas.
- 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
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 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 migrate schemas. For more information, see Migrate Databases from meshIQ 11.x to 12.1.1 Using JDBCMK
- These utilities are also used to create new database tables introduced in meshIQ 12.1.x. For more information, see Creating Database Tables for Track, DS, Pinot Using jdbcmk Utility.
Deploy Permits Expert
Start Domain and CEP servers.
Deploy and configure the Permits Expert. For more information, see Deploy and Configuring Permits Expert in meshIQ
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
Replace localhost with your IP address.
- 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"
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"
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/meshiq_ds jkool.db.sql.schema=meshiq_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
- 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
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} 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
- Update the
server.xmlfile as required for the MeshIQ deployment. For detailed instructions, see Required Server.xml Configuration Changes for MeshIQ 12.1 Deployment. - 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
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.