These steps describe how to upgrade from Fusion 2.1.4 or 2.4.x to Fusion 3.0.0 on Linux.

Note

If you have a multi-node installation and unless otherwise stated, you must perform each step on each node as you go. For example, if you have 3 nodes, perform step 1 on node 1, node 2, and then node 3. Next, perform step 2 on node 1, node 2, and then node 3. Run steps that are only needed on a single node on your first node; not on the other nodes.

Alternatively, if all of the Fusion nodes use the same configuration, then you can just run this on one node, and then copy the new fusion.properties file to all of the other nodes.

(On all nodes) Check the upgrade configuration in $FUSION_HOME/conf/config.sh and ensure that all of the modified properties in config.sh are reflected. Pay particular attention to the ZK connection strings if your existing Fusion installation is connected to an external ZooKeeper cluster.

(On all nodes) If you are running an external Solr or Zookeeper, then modify the group.default property in
fusion.properties to reflect the services that should be started when the bin/fusion script is executed.

(On all nodes) Start the ZooKeeper service that the new Fusion installation will use. If you are using the ZooKeeper bundled within Fusion, that would be:

cd $FUSION_HOME
./bin/zookeeper start

(On all nodes) Copy your ZooKeeper configuration file over from the old installation to the new one:

(On all nodes) Run Fusion 3.0.0 (start all services defined in fusion.properties):

cd $FUSION_HOME
./bin/fusion start

Ensure that all services have started on all nodes before proceeding.

(For multi-node Fusion, only run this step on the first node) Upgrade your custom dashboards, which are stored in the Solr collection system_banana (after the upgrade, they are stored in the Solr collection system_blobs):

These steps describe how to upgrade from Fusion 2.1.4 or 2.4.x to Fusion 3.0.0 on Windows.

Note

If you have a multi-node installation and unless otherwise stated, you must perform each step on each node as you go. For example, if you have 3 nodes, perform step 1 on node 1, node 2, and then node 3. Next, perform step 2 on node 1, node 2, and then node 3. Run steps that are only needed on a single node on your first node; not on the other nodes.

(On all nodes) Create a fusion-new folder somewhere on your computer, and download and extract Fusion 3.0.0 to it.

(On all nodes) Set the FUSION_HOME environment variable to the full path of the fusion\3.0.0 directory:

Example:

SET FUSION_HOME=C:\lucidworks\fusion-3.0.0\fusion\3.0.0

At this point, %FUSION_HOME%\bin\fusion.cmd should point to the Fusion 3.0.0 fusion.cmd file.

(On all nodes) Set the FUSION_OLD_HOME environment variable to the full path of the old Fusion home directory; for example:

SET FUSION_OLD_HOME=C:\lucidworks\fusion

At this point, %FUSION_OLD_HOME%\bin\fusion.cmd should point to the Fusion 2.x.yfusion.cmd file.

(On all nodes) Stop the old Fusion services:

cd "%FUSION_OLD_HOME%"
"%FUSION_OLD_HOME%\bin\fusion" stop

(On all nodes) In Windows Explorer, copy the %FUSION_OLD_HOME%\data directory on top of the %FUSION_HOME%\data directory; respond with Overwrite All when prompted.

(On all nodes) Edit %FUSION_HOME%\conf\fusion.properties and apply all custom JVM settings that you had applied to your %FUSION_OLD_HOME%\conf\config.cmd and %FUSION_OLD_HOME%\bin\*.cmd files into the new jvmOptions properties. If you have multi-node Fusion, make sure you uncomment default.zk.connect and set it to what you have FUSION_ZK set to.

For example, many customers customize the max heap size for %FUSION_OLD_HOME%\bin\connectors.cmd. Here is an example for someone who changed it to use a max heap size of 4 GB:

(On all nodes) Run Fusion 3.0.0 (start all services defined in fusion.properties), and wait for all services to start:

"%FUSION_HOME%\bin\fusion" start

(For multi-node Fusion, only run this step on the first node) Upgrade your custom dashboards, which are stored in the Solr collection system_banana (after the upgrade, they are stored in the Solr collection system_blobs):