Pentaho 3.7.0 Linux and MySQL
Pentaho 3.7.0 Linux and MySQL
x and Linux
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux
Table of Contents
Table of Contents Introduction License Donate You can donate to my PayPal account by clicking here. About The Community Thanks Getting Started Installing and Configuring Java Installing and Configuring MySQL 5.x Server Deploying the Platform Packaged Apache-Tomcat Server Existing Apache-Tomcat Server MySQL Java Connector webapps SQL Script Pack Configuring the Databases Extract the MySQL 5.x SQL Script Pack Load the SQL scripts Configuring JDBC Security applicationContext-spring-security-jdbc.xml applicationContext-spring-security-hibernate.properties hibernate-settings.xml mysql5.hibernate.cfg.xml (optional) Configuring Hibernate and Quartz Configuring Apache-Tomcat Server solution-path fully-qualified-server-url Disable HSQL Database Startup TrustedIpAddrs Other Parameters Configuring SMTP (mail server) Configuring Publishing Configuring the Administration Console Starting the Business Intelligence Platform Starting the Administration Console
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux
Introduction
License
This work is licensed under a Creative Commons Attribution 3.0 Australia License.
Donate
This tutorial is accessed by thousands on a monthly basis, from most of the feedback many found it extremely helpful! But contrary to belief I do not work for Pentaho and all of this work is voluntary, so even $1 can help me with producing bigger and better tutorials!
Windows MySQL 5.x PostgreSQL 8.x.x Oracle 10g & 11g Linux * MySQL 5.x * PostgreSQL 8.x.x Oracle 10g & 11g
The Community
Don't forget about the other hardworking projects which are part of the Pentaho community and also deserve a donation:
PAT (Pentaho Analysis Tool) An alternative to Pentaho's current OLAP analyser tool, JPivot. CDF (Community Dashboard Framework) A framework for building dashboards within Pentaho's Business Intelligence Server User Console.
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux Is an ant build.xml file script and alternate way to setup and deploy Pentaho based applications
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux
Getting Started
Installing and Configuring Java
The Pentaho BI Platform requires a JVM (Java Virtual Machine) to be installed on your PC or server. To check if Java is already installed issue the following command (seen in bold) at the terminal prompt: user@terminal:~# java -version java version "1.6.0_13" Java(TM) SE Runtime Environment (build 1.6.0_13-b03) Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing) If a similar output (seen above) is displayed Java is already installed. If not, to install Java on Linux issue the following commands (seen in bold): Ubuntu user@terminal:~# sudo apt-get install sun-java6-jdk sun-java6-jre Fedora user@terminal:~# sudo su install sun-java6-jdk sun-java6-jre The next step is to check if the JAVA_HOME environment variable is setup correctly, issue the following command (seen in bold) at the terminal prompt: user@terminal:~# echo $JAVA_HOME /usr/lib/jvm/java-6-sun If a similar output (seen above) is displayed the JAVA_HOME environment variable is already setup. To setup the JAVA_HOME environment variable add this line to the bottom of the /etc/environment file: JAVA_HOME="/usr/lib/jvm/java-6-sun" The CATALINA_OPTS environment variable should also be set to tell the Apache-Tomcat server to use more than the default memory, to do this also add the following line to the bottom of the /etc/environment file: CATALINA_OPTS="-Xms256m -Xmx768m -XX:MaxPermSize=256m Dsun.rmi.dgc.client.gcInterval=3600000 Dsun.rmi.dgc.server.gcInterval=3600000" From now on every time the PC or server is started/restarted the JAVA_HOME and CATALINA_OPTS environment variables will be set automatically.
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux You are able to deploy the platform in many different ways but in this guide I will explain how to deploy it with the packaged Apache-Tomcat server (comes with the Pentaho BI Server installation file) or with an existing Apache-Tomcat server.
The following directories should be visible after you have extracted the TAR file and moved its contents: opt/ |-- pentaho | |-- adminstration-console | |-- biserver-ce
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux | `-- mysql-connector-java-5.0.7.jar (optional) | |-- webapps | `-- pentaho | `-- pentaho-styles | `-- sw-styles The files and directories in bold (seen above) will need to be moved to your existing Apache-Tomcat installation. MySQL Java Connector If you already have Apache-Tomcat working with MySQL then you won't need to copy the mysqlconnector-java-5.0.7.jar file to your tomcat's /common/lib directory. If not to copy the mysqlconnector-java-5.0.7.jar issue the following command (in bold) at the terminal prompt: Ubuntu user@terminal:~#/ sudo cp /opt/pentaho/biserverce/tomcat/common/lib/mysql-connector-java-5.0.7.jar /opt/tomcat/common/lib Fedora user@terminal:~#/ su cp /opt/pentaho/biserverce/tomcat/common/lib/mysql-connector-java-5.0.7.jar /opt/tomcat/common/lib webapps You will need to copy all the directories under the /opt/pentaho/biserver-ce/tomcat/webapps/ directory to the webapps/ directory under your existing Apache-Tomcat installation. To do so make sure you have stopped your Apache-Tomcat server then issue the following command (in bold) at the terminal prompt: Ubuntu user@terminal:~#/ sudo cp /opt/pentaho/biserver-ce/tomcat/webapps /opt/tomcat/ Fedora user@terminal:~#/ su cp /opt/pentaho/biserver-ce/tomcat/webapps /opt/tomcat/ Where /opt/tomcat/webapps/ is the location of your Apache-Tomcat webapps directory. You have just moved all the webapps which are needed by the Pentaho BI Platform (sw-styles is optional). The last step is to move the pentaho-solutions directory into the /pentaho/ directory or any other location which you would like to store all your pentaho solutions and configuration files. To move the pentahosolutions folder to the pentaho directory issue the following command (in bold) at the terminal prompt: Ubuntu user@terminal:~#/ sudo mv /opt/pentaho/biserver-ce/pentaho-solutions /opt/pentaho/ Fedora
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux user@terminal:~#/ su mv /opt/pentaho/biserver-ce/pentaho-solutions /opt/pentaho/ One more step will need to be done to make sure Pentaho knows the new location of the pentahosolutions directory which will be covered in the "Configuring Apache-Tomcat" section. The new structure of the pentaho-solutions and existing Apache-Tomcat directory looks like this: opt/ | |-- pentaho | `-- pentaho-solutions | |-- tomcat | `-- webapps You can now safely remove any other files that came with the original Pentaho BI Platform (only under the biserver-ce\ folder).
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux
You must load the above scripts in the order they are listed. Load these SQL scripts using your favourite MySQL front end tool i.e. MySQL console, Navicat Lite, phpMyAdmin etc (in this section I will show you how to load the SQL scripts using the MySQL console).
Now run the following command (in bold) to see if you have successfully created the hibernate, quartz and sampledata databases: mysql> show databases; Just for reference here are the databases and tables which should of been created after loading the contents of the MySQL 5.x SQL Script pack:
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux
hibernate* authorities datasource granted_authorities users quartz qrtz_blob_triggers qrtz_calendars qrtz_cron_triggers qrtz_fired_triggers qrtz_job_details qrtz_job_listeners qrtz_locks qrtz_paused_trigger_grps qrtz_scheduler_state qrtz_simple_triggers qrtz_trigger_listeners qrtz_triggers sampledata customer_w_ter customers department_managers dim_time employees offices orderdetails orderfact orders payments products quadrant_actuals trial_balance
* Hibernate will create new tables into the hibernate database after Pentaho BI Platform has started for the first time.
NOTE If you have problems when running the 5_sample_data_mysql.sql scripts with timestamps you will need to replace all occurances of 00.000000000 with 00.000000 - this is an issue with MySQL timezones and timestamps.
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux
applicationContext-spring-security-jdbc.xml
This file is located under the pentaho-solutions/system/ directory. Once the file has opened locate this snippet of code: <!-- This is only for Hypersonic. Please update this section for any other database you are using --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="org.hsqldb.jdbcDriver" /> <property name="url" value="jdbc:hsqldb:hsql://localhost:9001/hibernate" /> <property name="username" value="hibuser" /> <property name="password" value="password" /> </bean> Make changes to the highlighted sections so that the section of code looks similar to this: <!-- This is only for Hypersonic. Please update this section for any other database you are using --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/hibernate" /> <property name="username" value="hibuser" /> <property name="password" value="password" /> </bean>
applicationContext-spring-security-hibernate.properties
This file is located under the pentaho-solutions/system/ directory. Once the file has opened locate this snippet of code: jdbc.driver=org.hsqldb.jdbcDriver jdbc.url=jdbc:hsqldb:hsql://localhost:9001/hibernate jdbc.username=hibuser jdbc.password=password
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux hibernate.dialect=org.hibernate.dialect.HSQLDialect Make changes to the highlighted sections so that the section of code looks similar to this: jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/hibernate jdbc.username=hibuser jdbc.password=password hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate-settings.xml
This file is located under the pentaho-solutions/system/hibernate/ directory. Once the file has opened locate this snippet of code: <config-file>system/hibernate/hsql.hibernate.cfg.xml</config-file> Make changes to the highlighted section so that the section of code looks similar to this: <config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file>
mysql5.hibernate.cfg.xml (optional)
This file is located under the pentaho-solutions/system/hibernate/ directory. You do not need to make any changes to this file if you would like to use the default user hibuser (which was created with the 4_load_sample_users_mysql.sql file). However, if you would like to specify your own user find and change the following two lines of code: <property name="connection.username">hibuser</property> <property name="connection.password">password</property> Make changes to the highlighted sections to a username and password of your choice.
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux
Once the file has opened the following piece of code should be visible: <?xml version="1.0" encoding="UTF-8"?> <Context path="/pentaho" docbase="webapps/pentaho/"> <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource" factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5" maxWait="10000" username="hibuser" password="password" driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost/hibernate" validationQuery="select count(*) from INFORMATION_SCHEMA.SYSTEM_SEQUENCES" /> <Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource" factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5" maxWait="10000" username="pentaho_user" password="password" driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost/quartz" validationQuery="select count(*) from INFORMATION_SCHEMA.SYSTEM_SEQUENCES"/> </Context> Make changes to the highlighted sections so that the section of code looks similar to this: <?xml version="1.0" encoding="UTF-8"?> <Context path="/pentaho" docbase="webapps/pentaho/"> <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource" factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5" maxWait="10000" username="hibuser" password="password" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/hibernate" validationQuery="select 1" /> <Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource" factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux maxWait="10000" username="pentaho_user" password="password" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/quartz" validationQuery="select 1"/> </Context>
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux
pentaho-solutions location URL Disable HSQL database startup TrustedIpAddrs (optional - for the administration console and if you are accessing the server remotely)
If you are happy with the following settings for your Pentaho BI Platform server you will not need to make any changes to this file:
pentaho-solutions/ directory located under the /opt/biserver-ce/ directory Visit http://localhost:8080/pentaho URL to launch the Pentaho BI Platform
solution-path
The solution-path parameter lets the Pentaho BI Platform know where to locate the pentaho-solutions directory. By default this is set to /opt/biserverce/pentaho/ directory. If you have decided to use an existing Apache-Tomcat server (or have moved your pentahosolutions directory) you will need to point this to where you have placed your pentaho-solutions directory. In this example my pentaho-solutions directory is under the /opt/pentaho/ directory, now my solution-path code snippet looks like this: <context-param> <param-name>solution-path</param-name> <param-value>/opt/pentaho/pentaho-solutions/</param-value> </context-param>
fully-qualified-server-url
If you are happy with visiting the URL http://localhost:8080/pentaho to access Pentaho's BI Platform you will not need to change this parameter, however if you would like others to access the site (remotely or on a network) you will need to make changes to this parameter. Open up the file and locate this line of code: <param-value>http://localhost:8080/pentaho/</param-value> Make changes to the highlighted section to your PC or server's domain or IP address so it looks similar to this: <param-value>http://www.prashantraju.com:8080/pentaho/</param-value> or <param-value>http://192.168.1.10:8080/pentaho/</param-value>
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux
--> TrustedIpAddrs
If you want to access your Tomcat-Apache server remotely - so in the above step you have not specified localhost or 127.0.0.1 for the base-url parameter - you will need to add your Tomcat-Apache server's IP address to this list. Open up the file and locate this line of code: <param-name>TrustedIpAddrs</param-name> <param-value>127.0.0.1</param-value> Make changes to the highlighted section add your PC or server's domain or IP address so it looks similar to this: <param-name>TrustedIpAddrs</param-name> <param-value>127.0.0.1,[your_ip_address]</param-value> This will allow the Pentaho Administration Console to 'ping' the server to see if it is up or down - you do not need to do this if you are hosting your server locally.
Other Parameters
You can also change the local language and country under the web.xml file, the changes to these parameters are self explanatory.
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux
mail.smtp.host This is the address of your SMTP email server for sending email e.g. smtp.gmail.com mail.smtp.port This is the port of your SMTP email server e.g. for GMail this is 587 mail.transport.protocol The transport for accessing the email server. Usually this is smtp e.g. for GMail this is smtps mail.smtp.starttls.enable If you SMTP server uses TTLS authentication set this to true e.g. for GMail this is true mail.smtp.auth Set to true if the email server requires the sender to authenticate mail.smtp.ssl This is true if the email server requires an SSL connection e.g. for GMail this is true mail.debug Output debug information from the JavaMail API mail.pop3 Not being used. mail.from.default The from address that emails from the Pentaho BI Platform e.g. [email protected] mail.userid The userid that is used when authenticating with the SMTP server, mail.smtp.auth must be set to true. mail.password The password that is used when authenticating with the SMTP server, mail.smtp.auth must be set to true.
Here is an example of a smtp-email.xml file configured for GMail: <email-smtp> <properties> <mail.smtp.host>smtp.gmail.com</mail.smtp.host> <mail.smtp.port>587</mail.smtp.port> <mail.transport.protocol>smtps</mail.transport.protocol> <mail.smtp.starttls.enable>true</mail.smtp.starttls.enable> <mail.smtp.auth>true</mail.smtp.auth> <mail.smtp.ssl>true</mail.smtp.ssl> <mail.smtp.quitwait>false</mail.smtp.quitwait> </properties> <mail.pop3></mail.pop3> <mail.from.default>[email protected]</mail.from.default> <mail.userid>[email protected]</mail.userid>
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux <mail.password>password</mail.password> </email-smtp>
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux
Configuring Publishing
By default publishing is not enabled, to enable it you will need to specify a password which will need to be used when publishing. To get started you will need to edit the publisher_config.xml file located under the /pentaho-solutions/system/ directory, once open locate the following snippet of code:
<publisher-config> <publisher-password></publisher-password> </publisher-config> Enter a password between the publisher-password tags (this password will be the same for all users) so the snippet of code looks similar to the example below (in this example the publisher password is publishthis):
<publisher-config> <publisher-password>publishthis</publisher-password> </publisher-config> From now on when any user tries to publish content to Pentaho BI Platform they will need to specify this password.
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux After logging in try and run a sample report from the Steel Wheels solution folder:
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux
Page 1 of 1
Pentaho Business Intelligence Suite 3.7 A guide to getting started with MySQL 5.x and Linux
Page 1 of 1