Install Private eazyBI
Private eazyBI
These are installation and setup instructions for the latest Private eazyBI
On this page:
Requirements
- Private eazyBI installation is supported on macOS, Linux, and Windows.
- Java 8, Java 11, or Java 17 should be installed. Only Oracle or OpenJDK JVMs are supported.
- MySQL (version 5.7 or 8.0), PostgreSQL (version 10 to 16), MS SQL (version 2016 or later), and Oracle (version 12c R2 or later) are supported as a Private eazyBI database.
- Minimum requirements for server:
- CPU with 2 cores;
- 4 GB RAM;
- 10GB disk space.
Installation
Open https://eazybi.com/products/private_eazybi and create a new Private eazyBI account to access the latest download files and receive your trial license key.
Unzip the downloaded file and copy the folder eazybi_private
with all its contents from the downloaded file into the destination directory where all private eazyBI files will be located.
On Windows, the full file path has a maximum 260-character length limit. eazyBI has a deeply nested folder structure. System full file paths may exceed this limitation if the eazybi_private
folder is located deeply in the folder hierarchy. We recommend creating the eazybi_private
folder directly in the root folder for Windows installations.
Directory structure
The eazybi_private
directory contains the following subdirectories and files:
app
- for private eazyBI customizations (e.g. custom layouts or view templates);bin
- startup and other shell scripts;config
- configuration files;data
- for storing uploaded files;eazybi_private.jar
- main application archive file;lib
- additional Ruby files or *.jar files (added if necessary);log
- web request and queue job log files.
Database setup
eazyBI will store data in an additional MySQL, PostgreSQL, Microsoft SQL Server, or Oracle database. It is recommended that you create a separate database user for eazyBI needs (by default with a name eazybi_private
), which will then create additional databases on a specified database server.
By default, eazyBI will use one database.
The following are database server-specific instructions for the eazyBI database setup.
MySQL
You can create a separate user eazybi_private
and grant access to all MySQL databases which start with the eazybi_private
prefix:
GRANT ALL PRIVILEGES ON `eazybi_private%`.* TO 'eazybi_private'@'%' IDENTIFIED BY 'secret';
(Replace secret with chosen password). When you will specify the database connection parameters in eazyBI, then the eazybi_private
database will be created. Later, when additional eazyBI accounts are created, then each account data will be stored in separate databases with names eazybi_private_dwh_N
where N is the account ID number.
In addition, you should download MySQL JDBC driver version 8.0.x and copy included mysql-connector-java-8.0.*.jar
to eazybi_private/lib
directory (MySQL JDBC driver is not included in Private eazyBI distribution due to GPL license restrictions).
Please also tune MySQL memory settings to speed up data import and report queries. The following my.cnf
settings are recommended:
innodb_buffer_pool_size = 1024M innodb_log_file_size = 256M query_cache_size= 16M query_cache_type = 1
innodb_buffer_pool_size
will specify how much database data MySQL can store in memory – adjust it to your available server memory (the more data MySQL will store in memory, the less disk input/output operations will be performed). If you will change innodb_log_file_size
then it will require that you delete existing MySQL log files before starting the MySQL server.
PostgreSQL
You can create separate user eazybi_private
with database creation rights:
CREATE ROLE eazybi_private PASSWORD 'secret' LOGIN CREATEDB;
If you do not want to add CREATEDB
role to the eazybi_private
user, then create the database eazybi_private
manually with the eazybi_private
user as an owner.
Each new eazyBI account will store data in a new dwh_N
schema (where N is the account ID number) in the same database.
Please tune PostgreSQL memory parameters. The following postgresql.conf
settings are recommended:
shared_buffers = 1024MB wal_buffers = 32MB
shared_buffers
specifies how much database data PostgreSQL can store in memory – adjust it to your available server memory (the more data PostgreSQL will store in memory, the less disk input/output operations will be performed). wal_buffers
affects the performance of writing transaction logs to disk.
Microsoft SQL Server
Create MS SQL Server user eazybi_private
– if you use SQL Server Management Studio, select SQL Server authentication and uncheck Enforce password policy. In addition, select dbcreator
from Server Roles (to allow the creation of new databases) or create manually eazybi_private
database with the eazybi_private
user as an owner.
Each new eazyBI account will store data in a new dwh_N
schema (where N is the account ID number) in the same database.
Oracle
Create an Oracle database user eazybi_private
:
CREATE USER eazybi_private IDENTIFIED BY secret DEFAULT TABLESPACE users; GRANT CONNECT, RESOURCE TO eazybi_private;
In this configuration, all eazyBI data will be stored in one eazybi_private
schema.
In addition, you should download the Oracle JDBC driver ojdbc*.jar
and copy it to the eazybi_private/lib
directory.
Start application
On macOS and Linux, start the application with the bin/start.sh
shell script. Please review the bin/start.sh
script and, if necessary, customize it (for example, increase Java memory parameters in the JAVA_OPTS
environment variable).
On Windows, start the application with the bin\start.bat
batch file. Please review bin\start.bat
and customize it if necessary (for example, change JAVA_OPTS
).
If you get an error message java.lang.reflect.InvocationTargetException
then please check that you are using Java 8 or later (check with java -version
).
Wait until you see the message Private eazyBI (version ...) started on http://localhost:8080/eazybi
and then open http://localhost:8080
in your browser – you should see the eazyBI settings page.
In the eazyBI settings page, specify database connection parameters for eazybi_private
database. By default, all eazyBI account-specific data will be stored in the same database (as described earlier in the Database section). Optionally, you can select the Use separate DWH database option and specify a different database where account-specific schemas (with uploaded or imported data) should be stored. Database connection parameters will be stored in the config/database.toml
file.
Select Use OLAP DWH database if you have large data volumes and would like to use ClickHouse OLAP DWH database to improve performance.
In addition, on the settings page, please specify your eazyBI license information – the license name and key. License information will be stored in the config/eazybi.toml
file.
If the database and license information are correct, you will be redirected to the sign-up page to create the first system administration user account.
eazybi.toml configuration file
In the config/eazybi.toml
file, you can configure different eazyBI parameters. The configuration file uses the TOML format. Please see the explanatory comments and commented examples for each section in this file.
On Windows, please use the text editor that supports Unix-style line endings when editing the eazybi.toml
file. The standard Notepad application will not display the content of this file correctly. We recommend using the Notepad++ application.
If you would like to add e-mail notifications support (to invite users, reset passwords or receive notifications about failed import jobs) from eazyBI, then provide SMTP server information that can be used for outgoing e-mails (the mailer
section in the configuration file). In addition, uncomment and specify the default_url_options
section that is used to generate full URL links back to your private eazyBI server.
If you would like to set up the Jira application link to the Private eazyBI server, then also please specify default_url_options
.
In the accounts
section, you can provide connection parameters and schema definition files for accounts with a custom schema. See the “FoodMart custom” account as an example.
Linux service startup script
bin/init.d/eazybi.sample
is a Linux service startup script that can be modified and copied to /etc/init.d/eazybi
. Please specify the EAZYBI_HOME
variable in this script to point to the full path of the eazybi_private
directory. By default, this startup script will use $EAZYBI_HOME/bin/start.sh
to start eazyBI – if needed, create a separate copy of the start.sh
script if different parameters should be used when starting eazyBI as a service.
Windows service
Private eazyBI distribution by default does not include support for running as a Windows service. But you can use an application like AlwaysUp to create a Windows service that will start the bin\start.bat
file from the Private eazyBI installation directory.
Provide access to eazyBI from other computers
By default, Private eazyBI will be accessible just locally at the address http://localhost:8080
. If you want to provide access to private eazyBI from other computers, then edit bin/start.sh
or bin\start.bat
and set EAZYBI_HOST
to 0.0.0.0
at the end of the file.
If you would like to change the default web application port 8080 to a different port, then edit bin/start.sh
or bin\start.bat
and modify EAZYBI_PORT
.
Export to PDF using Google Chrome
If you want to export dashboard pages to PDF or send regular emails with eazyBI dashboards as PDF attachments, please install Google Chrome on your Private eazyBI server.
Version upgrade
To upgrade the Private eazyBI version, here is what you should do:
- Shut down Private eazyBI.
- Download the latest Private eazyBI version from the "License and Downloads" tab in your eazybi.com Private eazyBI license account.
- Replace the
eazybi_private.jar
file in youreazybi_private
directory with the .jar file from the latest Private eazyBI version. - If eazyBI major (for example, 7.2.0 → 8.0.0) or minor version (for example, 7.1.0 → 7.2.0) is changed:
- Backup the existing startup file
bin/start.sh
(orstart.bat
). - Copy the latest startup file from the downloaded archive to the bin directory.
- Put back the changes you have made in the startup file.
- If you use "systems" to start eazyBI, then there could be made changes in the file
bin/systemd/eazybi.service
. - If you use "init.d" to start eazyBI, then please check
bin/init.d/eazybi.sample
for any changes in the latest version.
- Backup the existing startup file
- Review all your customizations. If you have customized view or layout templates, then extract the new templates from the upgraded jar file and reapply your customizations.
- Check the changelog for any additional action mentioned to be performed before the upgrade.
After that, it should be safe to start Private eazyBI again.