Apache Hop requirements, installation and configuration


The requirements and installation process for Apache Hop are intentionally kept as simple as possible.

This page covers everything you need to know to install and run Apache Hop on your local desktop or server, from the very basics to more advanced configurations.

Hop is designed to be as flexible and lightweight as possible, and is intended to blend in with your architecture, not the other way around. This makes the basic installation process extremely easy, but there’s a lot of configuration that can be applied to make Hop behave exactly the way you want it to.

Take a look at the Docker page for instructions to run Hop in containers and Kubernetes environments.

System Requirements

Hop’s limited footprint should allow it to run on any modern physical or virtual machine.

For the default Hop distribution, a minimum of 1 CPU/core and 4GB RAM should do, even though you can tweak Hop to run on machines with even less memory.

Hop Runs on the following operating systems:

  • Windows 7 or higher

  • Linux (x86_64, ARM)

  • MacOS

  • any modern browser (Hop Web)

Java Runtime

The only requirement Hop has on any supported operating system is the Java Runtime environment.

Apache Hop is known to work well on the following widely used Java Runtimes:

Apache Hop works well with these 64-bit java runtimes for version 11.

Other Java Runtimes may work but haven’t been used and tested as extensively as the Oracle and OpenJDK JREs, so you may be pioneering. Feel free to open a JIRA ticket if you run into issues, but please mention your JRE and version.

Run java -version if you’re not sure which Java version is currently installed on your system. Your output should be similar to the one shown below.

openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

Make sure to point the JAVA_HOME environment variable for your operating system to your desired JRE installation. Refer to your operating system’s documentation for more information on environment variables.

Basic Installation

The basic installation for Apache Hop couldn’t be easier:

  • download

  • unzip

  • change to your newly unzipped hop directory

  • run:

    • hop-gui.bat (Windows) or hop-gui.sh (Linux, MacOS): run Hop Gui

    • hop-run.bat (Windows) or hop-run.sh (Linux, MacOS): run workflows or pipelines from the command line.

    • hop-server.bat (Windows) or hop-server.sh (Linux, MacOS): start a Hop Server instance.


Multiple Hop versions can be installed side by side with the same process as described in the Basic Installation.

Hop installations are self-contained by default, which means you’ll start with the default configuration and project and environment list with after new Hop install.

This can be changed by setting the HOP_CONFIG_FOLDER system variable in your operating system to a folder outside any of your Hop installations.

In the default self-contained configuration, Hop keeps your preferences, projects and environment in the hop/conf folder. If you have a configuration you’d like to keep in one of your Hop installations, copy the contents of that hop/conf folder to the folder your HOP_CONFIG_FOLDER points to.

Check the Environment Variables section for more system variables that can make your life with multiple Hop versions or installations a lot easier.

Additional configuration

JVM memory settings

By default, Hop only sets a maximum for the JVM Heap size Hop can allocate.

This parameter can be changed in the hop-gui.bat or hop-gui.sh or similar scripts for hop-run and hop-server.

Identify the following line: HOP_OPTIONS="-Xmx2048m"

The -Xmx parameter determines the maximum amount of memory the JVM can allocate and can be specified in MB or GB.

For example:

  • HOP_OPTIONS=-Xmx512m: start Hop with maximum 512MB of memory

  • HOP_OPTIONS=-Xmx2048m: start Hop with maximum 2048MB (or 2GB) of memory

  • HOP_OPTIONS=-Xmx4g: start Hop with maximum 4GB of memory

Check the documentation for your JRE for more information about additional JVM configuration, tuning and garbage collection parameters. This guide may help you to get started.

Developers: a couple of lines below the -Xmx parameter, you’ll find another HOP_OPTIONS line that contains -Xdebug. Uncomment this line to allow debuggers to attach to your running Hop instance. Check the developer documentation for more information.

Hop environment variables

The following (operating system) environment variables can add a lot of flexibility to configure Hop to your exact needs.


Set this variable to a valid path on your machine to store Hop’s audit information. This information includes last opened files per project, zoom size and lots more.


Hop stores your configuration in the config folder by default. Set this environment variable to point to a folder outside of your Hop installation to keep your configuration, projects and environment list etc, no matter which Hop version or installation you use.

copy the contents of an existing hop/conf folder to the path set in HOP_CONFIG_FOLDER to move the configuration from one of your Hop installations to your new central location.

Set this variable to point Hop to a comma separated list of folders where you want Hop to look for additional plugins.

When using this variable it will also unset your default plugins folder, make sure to add the default plugin folder to the comma separated list. This can be a relative path to the installation eg. export HOP_PLUGIN_BASE_FOLDERS=./plugins,/additional/plugin/folder.
The ./plugins will point to the plugins in the base installation folder

The variable which points to a shared folder with JDBC drivers in them.

JDBC Drivers and other plugin dependencies

Hop comes with built-in support for tens of databases and a large number of other technologies.

Depending on the Apache and technology vendor’s licenses, the required libraries may not be available in the default Apache Hop distribution.

Download the necessary drivers or other required libraries and add them to your plugin’s lib directory.

For example, to add a JDBC driver for the MySQL database, download the MySQL JDBC jar file and add it to <PATH>/hop/plugins/databases/mysql.

Technology configuration

Hop comes with built-in support for lots of technologies that may require their own (installation and) configuration.

Check the technology page for the platform you need to configure to find out more.