Troubleshoot When Installing Fusion
- Fusion run script failures
- Check the Java version
- Clear browser cache
- Stop/Clean up/Start
- More Help and Support
This topic explains how to troubleshoot difficulties that occur when installing or upgrading Fusion.
Fusion run script failures
Common problems that cause Fusion run scripts to fail:
Wrong Java version
Users have insufficient privileges for the installation directory.
bindirectory not in the
Some Fusion services may already be running, or registered as running.
Roaming IP address; try uncommenting this line in
default.address = 127.0.0.1
Check the Java version
Fusion scripts use the environment variable
To check the setting of this variable, log in to the account used to run Fusion, and check that this variable is set to the proper value.
On a linux, Mac, or other Unix system, use the following command:
On Windows, the command is:
Fusion scripts execute both the
To check the Java version invoked by these commands, run the following commands from a shell or terminal window:
java -version javac -version
Clear browser cache
If a previous version of Fusion was accessed in the browser with the same URL as that of the newly installed version of Fusion, then there may be old pages and/or cookies in the browser cache. A hard page refresh will clear old pages from the browser cache. If clearing the page cache doesn’t solve this problem, clear session cookies as well.
If the script
fusion/bin/fusion start completes without reporting an error, but the
Fusion UI displays a message that it can’t find Collections or Datasources,
this may be due to Fusion services not being able to communicate properly (via ZooKeeper).
This can happen with developer deployments running on a laptop if the network connection
changes or is interrupted, especially when using the embedded ZooKeeper instance
that is bundled with Fusion.
In this situation, you should stop Fusion, inspect the system processes
and if necessary, manually terminate running processes and cleanup
to bring the system back to a clean state, then start Fusion once again.
Although the Fusion run script
bin/fusion provides a restart option,
the restart option assumes a correctly functioning system and can’t
always recover from system failure.
To stop Fusion:
Run the script
fusion/bin/fusion with the argument
$ cd /path/to/fusion $ ./bin/fusion stop 2016-10-04 20:18:30Z Stopping Fusion UI on port 8764 2016-10-04 20:18:42Z Stopping Fusion Connectors on port 8984 2016-10-04 20:18:53Z Stopping Fusion API Services on port 8765 2016-10-04 20:19:05Z Stopping Fusion Spark Worker on port 8769 2016-10-04 20:19:10Z Stopping Fusion Spark Master on port 8766 2016-10-04 20:19:15Z Stopping Fusion Solr on port 8983 2016-10-04 20:19:27Z Stopping Fusion ZooKeeper on port 9983
After stopping Fusion, you should make sure that no Fusion services are running.
When the Fusion scripts start a Fusion service, they record the process id in a
.pid file in the directory
For a Fusion instance that is up and running, we see the following set of
> find /path/to/fusion/var -name "*.pid" -print fusion/var/api/api.pid fusion/var/connectors/connectors.pid fusion/var/solr/solr.pid fusion/var/spark-master/spark-master.pid fusion/var/spark-worker/spark-worker.pid fusion/var/ui/ui.pid fusion/var/zookeeper/zookeeper.pid
The above output shows the set of
.pid created by a single Fusion instance running with embedded ZooKeeper and Solr.
But if no Fusion services are running, there shouldn’t be any
In the case that all services have been stopped, but there are still some
.pid files found,
these files should be deleted before starting Fusion.
Inspect the logfiles
If none of the above help, inspect the Fusion logfiles in directory
Logfile names that start with "oom" indicate out-of-memory problems.
You might need to increase the amount of memory allotted to that service.
The amount of memory allotted to each kind of Fusion service is controlled by
environment variables that are set in the
fusion/conf/config.sh (linux, Mac, Unix) or
fusion/conf/config.cmd (Windows) file.
These variable names consist of the service name followed by "_JAVA_OPTIONS", e.g.:
API_JAVA_OPTIONS=(-Xmx1g -Xss256k -XX:MaxPermSize=256m -Dapple.awt.UIElement=true)