Install Knowage on CentOS 7

Install Knowage on CentOS 7

Preparation

$ unzip Knowage-7_2_0-CE-Installer-Unix-20200730.zip
$ chmod +x Knowage-7_2_0-CE-Installer-Unix-20200730.sh
  • Setting env var JAVA_HOME di .bash_profile
export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH

Database

FOr MySQL Variant:

  • MySQL 5.7+ (Cannot use MariaDB 5.5 on CentOS7 default)
  • MariaDB 10.2+

Install MySQL 5.7 di CentOS: howtoforge.com/tutorial/how-to-install-mysq..

Create 3 below databases:

knowage_demo
foodmart_demo
ds_cache

Then grant to user knowage

Installation

  • Run installer

    $ ./Knowage-7_2_0-CE-Installer-Unix-20200730.sh -c
    
  • Sometime you will found this error:

20/08/14 07:01:15 INFO jdbc.Driver: Embedded Neo4j support not enabled org/neo4j/graphdb/GraphDatabaseService
20/08/14 07:01:15 INFO jdbc.Driver: Embedded Neo4j support not enabled org/neo4j/graphdb/GraphDatabaseService
java.lang.NoSuchMethodError: org.hsqldb.DatabaseURL.parseURL(Ljava/lang/String;ZZ)Lorg/hsqldb/persist/HsqlProperties;
    at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source)
    at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:208)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.install4j.runtime.installer.helper.Install4jClassLoader$CustomCodeInvoker.invoke(Install4jClassLoader.java:165)
    at com.install4j.runtime.installer.helper.Install4jClassLoader.invokeInCustomClassLoader(Install4jClassLoader.java:156)
    at com.install4j.runtime.beans.actions.jdbc.AbstractJdbcAction.createConnection(AbstractJdbcAction.java:139)
    at com.install4j.runtime.beans.actions.jdbc.AbstractJdbcAction.withConnection(AbstractJdbcAction.java:201)
    at com.install4j.runtime.beans.actions.jdbc.AbstractJdbcAction.withStatement(AbstractJdbcAction.java:176)
    at com.install4j.runtime.beans.actions.jdbc.AbstractJdbcAction.withResultSet(AbstractJdbcAction.java:153)
    at com.install4j.runtime.beans.actions.jdbc.CheckJdbcConnectionAction.executeJdbcCall(CheckJdbcConnectionAction.java:32)
    at com.install4j.runtime.beans.actions.jdbc.AbstractJdbcAction.execute(AbstractJdbcAction.java:95)
    at com.install4j.runtime.beans.actions.SystemInstallOrUninstallAction.install(SystemInstallOrUninstallAction.java:29)
    at com.install4j.runtime.installer.ContextImpl$7.executeAction(ContextImpl.java:1668)
    at com.install4j.runtime.installer.ContextImpl$7.fetchValue(ContextImpl.java:1659)
    at com.install4j.runtime.installer.ContextImpl$7.fetchValue(ContextImpl.java:1656)
    at com.install4j.runtime.installer.helper.comm.actions.FetchObjectAction.execute(FetchObjectAction.java:14)
    at com.install4j.runtime.installer.helper.comm.HelperCommunication.executeActionDirect(HelperCommunication.java:274)
    at com.install4j.runtime.installer.helper.comm.HelperCommunication.executeActionInt(HelperCommunication.java:249)
    at com.install4j.runtime.installer.helper.comm.HelperCommunication.executeActionChecked(HelperCommunication.java:187)
    at com.install4j.runtime.installer.helper.comm.HelperCommunication.fetchObjectChecked(HelperCommunication.java:170)
    at com.install4j.runtime.installer.ContextImpl.performActionIntStatic(ContextImpl.java:1656)
    at com.install4j.runtime.installer.InstallerContextImpl.performActionInt(InstallerContextImpl.java:151)
    at com.install4j.runtime.installer.ContextImpl.performAction(ContextImpl.java:1103)
    at com.install4j.runtime.installer.controller.Controller.executeAction(Controller.java:368)
    at com.install4j.runtime.installer.controller.Controller.executeActions(Controller.java:334)
    at com.install4j.runtime.installer.controller.Controller.handleCommand(Controller.java:195)
    at com.install4j.runtime.installer.controller.Controller.start(Controller.java:94)
    at com.install4j.runtime.installer.Installer.runInProcess(Installer.java:59)
    at com.install4j.runtime.installer.Installer.main(Installer.java:46)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:65)
    at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:57)
An error occurred:
java.lang.NoSuchMethodError: org.hsqldb.DatabaseURL.parseURL(Ljava/lang/String;ZZ)Lorg/hsqldb/persist/HsqlProperties;
Error log: /home/apps/installer/install4jError1689178052749584061.log
java.lang.NoSuchMethodError: org.hsqldb.DatabaseURL.parseURL(Ljava/lang/String;ZZ)Lorg/hsqldb/persist/HsqlProperties;
    at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source)
    at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:208)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.install4j.runtime.installer.helper.Install4jClassLoader$CustomCodeInvoker.invoke(Install4jClassLoader.java:165)
    at com.install4j.runtime.installer.helper.Install4jClassLoader.invokeInCustomClassLoader(Install4jClassLoader.java:156)
    at com.install4j.runtime.beans.actions.jdbc.AbstractJdbcAction.createConnection(AbstractJdbcAction.java:139)
    at com.install4j.runtime.beans.actions.jdbc.AbstractJdbcAction.withConnection(AbstractJdbcAction.java:201)
    at com.install4j.runtime.beans.actions.jdbc.AbstractJdbcAction.withStatement(AbstractJdbcAction.java:176)
    at com.install4j.runtime.beans.actions.jdbc.AbstractJdbcAction.withResultSet(AbstractJdbcAction.java:153)
    at com.install4j.runtime.beans.actions.jdbc.CheckJdbcConnectionAction.executeJdbcCall(CheckJdbcConnectionAction.java:32)
    at com.install4j.runtime.beans.actions.jdbc.AbstractJdbcAction.execute(AbstractJdbcAction.java:95)
    at com.install4j.runtime.beans.actions.SystemInstallOrUninstallAction.install(SystemInstallOrUninstallAction.java:29)
    at com.install4j.runtime.installer.ContextImpl$7.executeAction(ContextImpl.java:1668)
    at com.install4j.runtime.installer.ContextImpl$7.fetchValue(ContextImpl.java:1659)
    at com.install4j.runtime.installer.ContextImpl$7.fetchValue(ContextImpl.java:1656)
    at com.install4j.runtime.installer.helper.comm.actions.FetchObjectAction.execute(FetchObjectAction.java:14)
    at com.install4j.runtime.installer.helper.comm.HelperCommunication.executeActionDirect(HelperCommunication.java:274)
    at com.install4j.runtime.installer.helper.comm.HelperCommunication.executeActionInt(HelperCommunication.java:249)
    at com.install4j.runtime.installer.helper.comm.HelperCommunication.executeActionChecked(HelperCommunication.java:187)
    at com.install4j.runtime.installer.helper.comm.HelperCommunication.fetchObjectChecked(HelperCommunication.java:170)
    at com.install4j.runtime.installer.ContextImpl.performActionIntStatic(ContextImpl.java:1656)
    at com.install4j.runtime.installer.InstallerContextImpl.performActionInt(InstallerContextImpl.java:151)
    at com.install4j.runtime.installer.ContextImpl.performAction(ContextImpl.java:1103)
    at com.install4j.runtime.installer.controller.Controller.executeAction(Controller.java:368)
    at com.install4j.runtime.installer.controller.Controller.executeActions(Controller.java:334)
    at com.install4j.runtime.installer.controller.Controller.handleCommand(Controller.java:195)
    at com.install4j.runtime.installer.controller.Controller.start(Controller.java:94)
    at com.install4j.runtime.installer.Installer.runInProcess(Installer.java:59)
    at com.install4j.runtime.installer.Installer.main(Installer.java:46)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:65)
    at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:57)

Open another tab then delete file hsqldb.jar in temporary extracted dir. Continue wizard on first tab.

$ rm Knowage-7_2_0-CE-Installer-Unix-20200730.sh.12345.dir/user/hsqldb.jar

12345 is a pidfrom installer wizard on first tab. It will be varies in your environment.

  • Just Follow the Wizard
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU AGPL, see
<http://www.gnu.org/licenses/>.

I accept the agreement
Yes [1], No [2]
1
Charting library
Please select which library you want to install:
Charts.js [1, Enter], Highcharts JS [2]
2

Released under the MIT License and freely available

Released under the CC BY-NC 3.0 License, available with restrictions. If you
have not the right to freely use it, please consider that Knowage Enterprise
Edition already includes the commercial license of Highchart JS (more info
at knowage@eng.it)
Please select one of the following options of installation:
installation with demo contents (recommended for beginners) [1, Enter], barebone installation (for advanced users) [2]
1
Which components should be installed?
X: Knowage Big Data
X: Knowage Smart Intelligence
X: Knowage Enterprise Reporting
X: Knowage Predictive Analysis
X: Knowage Location Intelligence
X: Knowage Performance Management
Please enter a comma-separated list of the selected values or [Enter] for the default selection:

Application Server Configuration
[]
/home/apps/knowage

WARNING: application server will be installed in sub-folder
Knowage-Server-CE.
This step can NOT be reverted by this installer.


[http://localhost]


NOTE: in order to access Knowage in a network environment please use IP
address or domain name.

Database Management System Configuration
Use an already installed DBMS [1, Enter]
1
Select DBMS for metadata:
MariaDB [1, Enter]
MySQL [2]
2
[jdbc:mysql://localhost:3306]

Username:
[]
knowage

Password:


WARNING: please provide a database user that can create schemas.
The following schemas will be created (or overwritten):
*  knowage_demo
*  foodmart_demo
*  ds_cache

20/08/14 14:08:17 INFO jdbc.Driver: Embedded Neo4j support not enabled org/neo4j/graphdb/GraphDatabaseService
20/08/14 14:08:17 INFO jdbc.Driver: Embedded Neo4j support not enabled org/neo4j/graphdb/GraphDatabaseService
Extracting files ...
Additional tasks
Copying resources...
Copying WAR files...
Updating database...
Updating Foodmart schema...
Patching files...
...
BUILD SUCCESSFUL
Total time: 1 second

Saving license files...
How to connect to Knowage
Start Knowage CE using:
/home/apps/knowage/Knowage-Server-CE/bin/knowage_startup.sh

Stop Knowage CE using:
/home/apps/knowage/Knowage-Server-CE/bin/knowage_shutdown.sh

Connect to Knowage CE at:
http://localhost:8080/knowage
The following default credentials are available (username = password):

*  demo_admin
*  demo_user

Setup has finished installing Knowage 7.2.0  Installer on your computer.


Create desktop links?
Yes [y, Enter], No [n]
n
Start Knowage?
Yes [y, Enter], No [n]
n
Visit Knowage website?
Yes [y, Enter], No [n]
n
Finishing installation ...
  • Start Knowage
$ Knowage-Server-CE/bin/startup.sh

Then open: ip.address:8080/knowage

with user/password: demo_admin/demo_admin

image.png