High Availability Upgrade Instructions
Due to our High Availability architecture, the upgrade process is slightly more complicated than normal. These instructions assume that the upgrade is taking place on a HA environment.
Preparing for the Upgrade
It is important to prepare all build and query nodes properly before starting the installation to avoid any issues. These steps can be taken without stopping the nodes.
Review the latest Release Notes
Release notes can be found here: https://www.sisense.com/documentation/release-notes/
Ensure that there are no breaking changes or other important notes that may cause issues with the upgrade. If so, take steps to avoid or remedy these issues before starting the installation. Take note of the latest version, as this is what will be installed. The current installed version of
Sisense can be found on the lower right side of the Sisense home page.
Download the installer onto each node
On the release notes page, there is a download link for the Sisense installer. You can also download the latest installer here. This link is automatically updated. Download this installer onto each node, or download it and copy it to each node.
This installer is not a full installation file. When run, it downloads the full newest version from Sisense servers and then installs. If a full installation is required, more information can be found here: https://www.sisense.com/documentation/downloading-and-installing-sisense/.
Note: do not follow the installation procedure on that page, as it will break the HA architecture.
Back up the necessary files
The Sisense installer overwrites the MongoDB replication and Sisense Orchestration files, so they must be backed up before beginning the installation. Not backing up these files will lead to major replication issues, and possibly having to rebuild the whole architecture.
For each of these files, copy them to a separate folder, either on the Desktop or another easily accessible, safe location.
Build Node(s)
C:\Program Files\Sisense\Sisense.Orchestration\config\config.json
C:\Program Files\Sisense\Monitoring Agent\logstash\bin\InfraAgent.exe.conf
C:\Program Files\Sisense\Monitoring Agent\logstash\bin\configs\shipperInner.conf
C:\Program Files\Sisense\PrismWeb\vnext\config\default.yaml
C:\Program Files\Sisense\Infra\MongoDB\mongoDB.conf
C:\Program Files\Sisense\PrismWeb\App_Data\Configurations\db.config
Query Node(s)
C:\Program Files\Sisense\Monitoring Agent\logstash\bin\InfraAgent.exe.conf
C:\Program Files\Sisense\Monitoring Agent\logstash\bin\configs\shipperInner.conf
C:\Program Files\Sisense\PrismWeb\vnext\config\default.yaml
C:\Program Files\Sisense\Infra\MongoDB\mongoDB.conf
C:\Program Files\Sisense\PrismWeb\App_Data\Configurations\db.config
Upgrading the Nodes
Due to some issues with the MongoDB replication (currently being troubleshooted as of 2/21/17), upgrading Sisense requires a few hours of downtime for each environment. Ideally we would be able to upgrade without taking down 3 nodes at once (leaving the service available to the users), but this is currently not the case.
The whole upgrade process should take 2 hours or less if everything goes well.
Stop Sisense Services
Always stop the query nodes before stopping the build node to avoid issues with MongoDB replication.
Open the Services application on each server and stop all Sisense related services.
Open the Internet Information Services (IIS) Manager and stop the Sisense site.
Uninstall Sisense
To avoid issues seen with previous upgrades, it is recommended that Sisense is uninstalled before the new version is installed.
At this point, double check that the above files are backed up.
Open "Programs and Features", select Sisense, and uninstall.
The Sisense uninstaller should open, and will ask you to confirm. Make sure that the "Remove User Data" box is NOT checked. Do not remove user data!
Click "Remove Anyway". The uninstall process should take a few minutes.
Install the new version of Sisense
The new version may prompt you to install the latest version of .NET. If it does, be aware that this will require the computer to restart. Make sure everything is saved and the computer is okay to be restarted. Install the new version of Sisense on the build node first. Verify that the build
node is fully functional before continuing with the query nodes.
- Run "SisenseLatest.exe" as Admin
- Make sure to select Custom Installation
- Select Microsoft IIS, not IIS Express
- Verify port number is correct
The installation should take 10-20 minutes. If you used a port other than 80 for the installation, the installer may show an error about not being able to connect to the web service- this is okay.
Verify the installation.
- Make sure the Sisense site is shown in IIS
- Make sure all the Sisense Services are running
Replace the configuration files that were backed up previously.
- Copy all files to their original folders, overwriting the newly installed files as necessary.
- Restart the "Sisense Repository" and "Sisense Orchestration" services
- Restart IIS
- This can be done through the IIS Manager, or via Command Prompt by typing "iisreset"
Open a web browser and navigate to "localhost:[port]" and check for any errors.
Repeat this process for each query node.
Troubleshooting
500 Internal Server Error when connecting to Sisense via localhost
- Restart all Sisense Services and check
- Restart IIS and check
- Restart machine and check
"Cannot connect to primary node of replica set" (or similar)
This error is shown because of an error in the MongoDB replication. Make sure that all configuration files were replaced after the installation, and restart the Sisense Repository service on all nodes. If you did not back up the files, you must reconfigure the MongoDB replication.
To check the status of the replica set, open RoboMongo on the build node. Connect to the Sisense MongoDB (port 27018) and open a MongoDB shell. Run "rs.status()". The build server should be marked as Primary, and both query nodes should be Secondary.
If the build node is NOT Primary, and one of the query nodes IS Primary:
- Open remote sessions to all nodes
- On the query node that is not Primary, open RoboMongo and run "rs.freeze(120)". This will freeze the MongoDB replication on this server
- for 120 seconds, preventing it from becoming Primary
- On the query node that is Primary, open RoboMongo and run "rs.stepDown()". This will force the server to forfeit it's Primary status.
- On the build node, open RoboMongo and run "rs.status()" to make sure that this server is now Primary.
- If it is not, wait 10 seconds and try again. It can take 10-30 seconds for the primary node change to happen.
"Critical PrismServer error" (or similar)
- Restart all Sisense Services and check
- Restart IIS and check
- Restart machine and check
- Re-install Sisense on the affected server, following all steps above
-
Michael, thank you for sharing the pitfalls of a Sisense HA upgrade. This information is extremely valuable. We have a scaled out HA environment with 3 web, 3 query, and 1 build server and we are building a new environment in parallel and swapping over to it rather than upgrading in place. Ill be sure to keep track of my experience an hopefully have something to contribute.
-
Hello All,
Starting in Sisense 7.2+ the set up of High Availability was revamped to make it much easier to deploy multi-server Sisense environments. Rather than manually editing multiple config files, a deployment wizard was released that allows you to make architecture decisions through the UI.
Please reference the following documentation for further information:
Multi-Node Deployments
Installing the Multi-Node Deployment Wizard
Hope this helps.
Katie Garrison | Technical Solutions Consultant
Post is closed for comments.
Comments
4 comments