Complete Pentaho Installation on Ubuntu, Part 2

[Edit]

This post was written with Pentaho version < 4.8 in mind. Most of it is still usefull specially the database setup. Some things change a little, like point nine, the datasource [re]definition that now must be done on Pentaho console itself or the examples section as they no longer exist.

Please check this series for version 5.x.


Modify Pentaho Demo Databases to MySQL Add your Database too

The Pentaho BI Server that you configured in last post uses HSQLDB engine. It creates and loads the database in memory each time you start the demo.

That’s fine for a demo, but we prefer a more permanent storage, so we’ll create six MySql schemas, their users, tables and corresponding ‘datasource’ definitions for our Pentaho system:

  • Two system databases: hibernate and quarz, the first one is used for configuration and the other one is for scheduling.
  • Another one for steelwheels data in the sampledata database, this is the one used in the Pentaho/HSQLDB demo.
  • Add a more complex data set: foodmart. This was the original database for mondrian examples (multidimensional project in Pentaho).
  • An empty databse for us to load and clean up data: loadig_area.
  • And the last one called datamart for our tables to report from.

Setting them up takes a few administration activities for which we’ll use the administrative MySql graphical tools. Then edit seven text files -more or less- to configure Pentaho to look for MySql insted of HSQLDB. We’ll be up and running in a couple of hours.

What you need Two things are for migration and one for your a special DB source of data:

  1. MySQL ‘database engine’ tested. MySQL root user with password. Tools: MySql Administrator and MySql Query Browser.
  2. SQL Scripts that create databases and load data content. We’ll use the scripts from Analysethis, PHI-Integration.com and OSBI sites. [The Pentaho wiki says you shouldn’t link to them until their migration is compleated, so if it is broken there are another links in the comments]
  3. Optional: Your IP, user, password, schema name and software driver for your particular database. You’ll get this from your database administrator. It we’ll be easy for him/her if you remind them that the access is only read-only no excecution allowed.

If you did the install MySql step in last post, you have a working DB engine now, if not, check the recomended guide or search the web for your favorite one.

Download two files with the scripts for SteelWheels & MySql (130KB) and Foodmart (7.9MB). Extract the scripts to something like /Pentaho/sql_scripts.

For the drivers, download:

  • MySql 3.14 connector (mysql-connector-java-3.1.14-bin.jar) or 3.17 from here. The 5.1 driver sometimes has issues on some systems.
  • Optional: If you have an Oracle system you’ll need the ojdbc14.jar and orai18n.jar. Edit june 2011: You can get them from de PDI. Download the file -we are going to install it on part 6– and copy them from /Pentaho/data-integration/libext/JDBC .

Steps to Do

# Activity HSQLDB ->MySql New Datasource
1 Create your databases  X
2 Load scripts to sample databases X
3 Create system/database users and grant them permisions X
4 Modify system connections to MySql: hibernate and quartz X
5 Redirect Hibernate itself to MySql X
6 Set the spring-security to be on MySQL database. X
7 Modify the list with drivers to use for each jndi connection  X X
8 Place the drivers in the tomcat\common\lib folder X X
9 Edit the scripts to avoid HSQLDB to start X
10 Start the console administraton for datasource setup X X
11 Test your system X X

1. Create your Databases

If you haven’t use MySql tools, then here you’ll get your first acquaintance with them. They will be very usefull for administration/backups and data querying.

Start MySQL Query Browser (Ubuntu menu: Application->Programming) and login as root (use localhost or empty for ‘Server Hostname’ if it reports an error)

Login MySql Query Browser

Login MySql Query Browser

and execute two commands:

create database loading_area;
create database datamart;

Exit the MySql Query Browser.

2. Load the scripts to sample databases

Start MySQL Administrator (Ubuntu menu: Application->Programming) and login as root (use localhost or empty for ‘Server Hostname’ if it reports an error):

Login to MySql Administrator
Login dialog for MySql Administrator

Restore the SQL script that creates the hibernate database, hibuser user and DATASOURCE table:

  • Select ‘Restore Backup‘ from the left panel.
  • Click the ‘change path‘ button at the left bottom and navigate to the folder you left them (/Pentaho/sql_scripts), select ‘OK‘ Note: Pentaho has this same script on ‘/home/[your_user]/Pentaho/biserver-ce/data/mysql‘.
  • Select ‘1_create_repository_mysql.sql‘ and the ‘utf-8‘ options.
  • Optionally you can review and select which the operations will be excecuted from the ‘selection’ tab at the window top.
  • Click ‘Restore Backup’ button on the bottom right.

To create the quartz database use:

  • Use ‘Restore Backup‘, using the same folder.
  • Select ‘2_create_quartz_mysql.sql‘ and the ‘utf-8‘ option.
  • Click ‘Restore Backup’ button on the bottom right.

Do the same to create the ‘sampledata’ database, but use the ‘3_create_sample_datasource_mysql.sql‘ script.

The users of Pentaho system (not the database) will be loaded when you restore the next scritp: ‘4_load_sample_users_mysql.sql‘.

With the next two we’ll load the actual data of the samples, these are: ‘5_sampledata_mysql.sql‘ and ‘foodmart_mysql.sql‘.

2. Create system/database users and grant them permisions

Continue in MySql administrator, but change the left panel option, click on ‘user administration‘ and then click the left bottom ‘New User‘ button. Now fill the ‘MyQSL User’ field with pentaho_user. In the passwords fields type password. like this:

My SQL New UserMy SQL New User

Note: You can see in the image the @ (at symbol) indented under the left pentaho_admin user. This is where you can give different permisisons to each IP/Equipment.

Lets continue and create with the same steps the pentaho_user.

Now, click on the ‘Schema Privileges‘ in the top tab. In the ‘User Accounts’ list  in the left bottm sould be still selected the ‘pentaho_user’ user. Select the ‘datamart’ schema and move from the right list to the left the correct privileges. Click ‘Apply Changes‘. It will end up like this:

My Sql Privileges

My Sql Privileges for ‘pentaho_user’ on ‘datamart’ schema

Privileges for ‘pentaho_user‘ on datamart, foodmart, hibernate, quartz, sampledata, loading_area schemas will be SELECT, INSERT, UPDATE, DELETE (omit DELETE for hibernate and quartz).

Give ‘pentaho_admin‘ full privileges on those tables. You can close the administrator now.

Check that ‘hibuser‘ has full access to hibernate database (given them by the script). Note: this step was reported several times so check it twice.

3. Modify system connections to MySql: Hibernate and Quartz

Use the file file navigator ‘nautilus’ (on the desktop menu: Places->Personal folder) to the following folder:

/Pentaho/bi-server/tomcat/webapps/pentaho/META-INF/

Note that this are the tomcat (web server) files. Edit (right click->open with->gedit):

context.xml

And change four lines with the classes, url strings and the SQL to verify the connection to:

<?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"
        maxWait="10000" username="pentaho_user" password="password"
        driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/quartz"
        validationQuery="select 1"/>
</Context>

Save the file and exit gedit.

4. Redirect Hibernate to MySql

Navigate to:

/Pentaho/bi-server/pentaho-solutions/system/hibernate/

This are the Pentaho config files. Open with gedit:

hibernate-settings.xml

Change it to:

<config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file>

Save the file. In gedit open in the same folder:

mysql5.hibernate.cfg.xml

Edit june 2011: This file should be ok, no need to edit. But you had to in previus versions, just to keep in the checklist.

Change three property tags in:

<!--  MySQL Configuration -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="connection.username">hibuser</property>
<property name="connection.password">password</property>
<property name="connection.pool_size">10</property>
<property name="show_sql">false</property>
<property name="hibernate.jdbc.use_streams_for_binary">true</property>
<!-- replaces DefinitionVersionManager -->

Save the file, exit gedit.

5. Set the spring-security to the MySQL database

We’ll change the spring security files (until 3.5 the technology was ‘acegi’, but on 3.6 they rename it).  Navigate up one folder level, and edit the file:

/Pentaho/biserver-ce/Pentaho-solutions/system/ applicationContext-spring-security-hibernate.properties

Change it to:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

Save the file, close it and open on the same folder:

applicationContext-spring-security-jdbc.xml

Edit, change the header and two lines:

<!--  This is only for MySQL. 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>

6. Modify the file that list the jndi (datasources) connections

Edit:

Pentaho/biserver-ce/pentaho-solutions/system/simple-jndi/jdbc.properties

Change the driver definitions to:

SampleData/type=javax.sql.DataSource
SampleData/driver=com.mysql.jdbc.Driver
SampleData/url=jdbc:mysql://localhost:3306/sampledata
SampleData/user=pentaho_user
SampleData/password=password
Hibernate/type=javax.sql.DataSource
Hibernate/driver=com.mysql.jdbc.Driver
Hibernate/url=jdbc:mysql://localhost:3306/hibernate
Hibernate/user=hibuser
Hibernate/password=password
Quartz/type=javax.sql.DataSource
Quartz/driver=com.mysql.jdbc.Driver
Quartz/url=jdbc:mysql://localhost:3306/quartz
Quartz/user=pentaho_user
Quartz/password=password
SampleDataAdmin/type=javax.sql.DataSource
SampleDataAdmin/driver=com.mysql.jdbc.Driver
SampleDataAdmin/url=jdbc:mysql://localhost:3306/sampledata
SampleDataAdmin/user=pentaho_admin
SampleDataAdmin/password=password

Important: For new datasources, add at the bottom

FoodMart/type=javax.sql.DataSource
FoodMart/driver=com.mysql.jdbc.Driver
FoodMart/url=jdbc:mysql://localhost:3306/foodmart
FoodMart/user=pentaho_user
FoodMart/password=password
LoadingArea/type=javax.sql.DataSource
LoadingArea/driver=com.mysql.jdbc.Driver
LoadingArea/url=jdbc:mysql://localhost:3306/loading_area
LoadingArea/user=pentaho_user
LoadingArea/password=password
Datamart/type=javax.sql.DataSource
Datamart/driver=com.mysql.jdbc.Driver
Datamart/url=jdbc:mysql://localhost:3306/datamart
Datamart/user=pentaho_user
Datamart/password=password

You can delete the five line shark statements as this workflow is no longer used.

7. Place the drivers in the tomcat\common\lib folder

Note: Some time ago I had trouble with the 5.0.7 driver for MySQL so I  moved it to another location and used de 3.17 version in my windows system, but now I’m working fine in my Ubuntu box with 5.0.7 so test your system and use the latest version you can use.

Move the downloaded drivers to the

/Pentaho/biserver-ce/tomcat/lib/

This is important with Oracle if your ETL or reports use this driver.

8. Edit the scripts to avoid HSQLDB to start

Now we must stop HSQLDB from starting, edit:

/Pentaho/biserver-ce/tomcat/webapps/pentaho/WEB-INF/web.xml

This is a very important file, so it has a lot of parameters. Move to line 87 (or search for HSQLDB) and comment the hsqldb startup lines -or delete them- like this:

<!-- [BEGIN HSQLDB DATABASES]
<context-param> <param-name>hsqldb-databases</param-name> <param-value>sampledata@../../data/hsqldb/sampledata,hibernate@../../data/hsqldb/hibernate,quartz@../../data/hsqldb/quartz</param-value> </context-param>
[END HSQLDB DATABASES] -->

and in line 215 (or next find):

<!-- [BEGIN HSQLDB STARTER]
<listener> <listener-class>org.pentaho.platform.web.http.context.HsqldbStartupListener</listener-class> </listener>
[END HSQLDB STARTER] -->

Edit june 2011: For 3.8 on windows and for 3.9 4.0 in linux and windows you need to edit another file to avoid the following error:

In the log -or console- it says “java.sql.SQLException Could not retrieve datasource via JNDI” and the server won’t start. In the browser you get a listener error.

Some people try to edit the systemListeners.mxl file and comment the quartzSystemListener from starting. That works, but you loose the scheduling capabilities of the BI server. Some others try to edit the Quartz.properties file as it reports a MyDS problem. As I did for a day fumbling with the WEB-INF/web.xml and META-INF/Context.xml files.

The solution is to edit a new file at:

/Pentaho/biserver-ce/tomcat/conf/Catalina/localhost/pentaho.xml

Just edit the data as in our previus example of context.xml.

The tip to solve it came from Luis Benavides from http://dssintegration.com/ in a comment in this post.

9. Start the console administration for datasource setup

We need to update de Hibernate database with datasource connection information. We can insert the SQL string using the query browser but we have been using the graphical tools, so we now get the chance to use the Pentaho Administration Console (PAC), but need to edit it’s shell script , and add the JAVA_HOME variable in:

/Pentaho/bi-server/administration-console/start-pac.sh

DIR_REL=`dirname $0`
cd $DIR_REL
DIR=`pwd`
cd -

export JAVA_HOME="/usr/lib/jvm/java-6-openjdk"

. "$DIR/set-pentaho-env.sh"
setPentahoEnv "$DIR/../biserver-ce/jre"

After saving and in the comand prompt at:

/Pentaho/administrator-console/

type:

./start-pac.sh

Use you’re internet browser and go to http://localhost:8099, login with admin/password. You should see a connection error as it tries to connect with the Pentaho Server. But close it, for adding datasources its ok.

Click on Administration on the left, and select the ‘Database Connections’ tab. You can check the parameters for the SampleData datasource. We’ll be adding similar ones.

Pentaho Administration Console (PAC)

Pentaho Administration Console (PAC)

Click on the plus (1) icon, then fill the form with the values in the following table (2) -you know the user and password-, and test your connection (3).

Name Driver Class URL
FoodMart com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/foodmart
Datamart com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/datamart
LoadingArea com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/loading_area

The advanced settings are: maxactcon=20, idleconn=5, wait=1000, query=SELECT 1

Exit the browser and turn off the PAC with  ./stop-pac.sh Note: We’ll use this console again to add new users. 10. Test your system To start Pentaho, in a command prompt at

/Pentaho/biserver-ce/

type:

./start-pentaho.sh

You should see if an error prevents Tomcat to show it’s startup in the command window. If somethings goes wrong you’ll see lots of text, remember that is easier to check the logs (/Pentaho/biserver-ce/tomcat/bin/Pentaho.log) they will tell you if you have made typing errors, for example if it says something like ‘SampleData being out of context’, then something in the datasorce scripts went wrong. There are many posible causes and the log is the best way to track errors.

To close the BI server application use:

./stop-pentaho.sh


[Edit] There is another thing that breaks when we change the database. The examples on bi-developers->’ChartBeans Examples’. We need to edit the files on:

/Pentaho/biserver-ce/pentaho-solutions/bi-developers/chartbeans/*.xaction

These files contains ‘actions’ to be carried out by our server, well review them on a future post. For now replace Sql text:

CAST(SUM(ORDERFACT.TOTALPRICE) AS INTEGER) AS “PRICE” to: CAST(SUM(ORDERFACT.TOTALPRICE) AS UNSIGNED) AS “PRICE”

And In file chartbeans_scatter.xaction, change the sql:

WHERE DEPT=’Sales’ OR DEPT=’Finance’ for: WHERE DEPARTMENT IN (‘Sales’,’Finance’)

Also edit the ‘Flash Chart List’ SQL and make a search and replace for several INTEGER to UNSIGNED in:

/Pentaho/biserver-ce/pentaho-solutions/steel-wheels/charts/pentahoxml_picker.xaction

Finally erase the file ‘chartbeans_simple_dial.xaction’ as it will not work on the CE (check this).

To make the simple dial example work (OpenFlash doesn’t work on the CE edition) we use the JFree drawing engine, make a change in:

/Pentaho/biserver-ce/pentaho-solutions/bi-developers/charts/chartbeans_dialchart.xml

from:
<chartModel chartEngine="OpenFlashChart"
To:
<chartModel chartEngine="JFreeChart"

One last note for windows users:

I had MySQL Workbench 5.2.34 CE working fine, but the following versions refuse to start reporting just: Err: MSVCR100.dll.

So, if you want to use this tool (5.2.37 is the latest one), you have to get two files that are no longer included (msvcp100.dll, msvcr100.dll). I copied them from the 2.34 version to their corresponding folder. Thats it.

71 thoughts on “Complete Pentaho Installation on Ubuntu, Part 2

  1. Hi Francisco,

    Thanks for such a detail description which will certainly come helpful to me when I start installing Pentaho 3.7 BI Server on WinXP and use MySQL database. But I need the SQL scripts to migrate the HSQLDB to MySQL. I tried downloading the scripts from Prashant Raju’s site but the link for download is not working. If you can post the SQL scripts pack along with your post then it would be great help.
    Regards,
    Ashish

  2. Hello,

    Nice tutos. I’ve just began with Pentaho yesterday (Monday 22 Aug). Installed the server yesterday. Today I’m with part 2 (MySQL).

    A typo mistake I think in step 8

    [quote]
    The solution is to edit a new file at:
    /Pentaho/biserver-ce/tomcat/conf/Catalina/localhost/pentaho.html
    Just edit the data as in our previus example of context.xml.
    [quote]

    Must be:
    /Pentaho/biserver-ce/tomcat/conf/Catalina/localhost/pentaho.xml

    Or my mistake ?

    Anyway, thanks for these nice tutos.

    Nadim Attari
    Mauritius

  3. Hello. I would like to point out that :

    When trying to access the Pentaho BI platform (http://localhost:8080), if you have this error

    Error while trying to execute startup sequence for org.pentaho.platform.scheduler.QuartzSystemListener

    Then you’ll find a file pentaho.xml in biserver-ce/tomcat/conf/Catalina/localhost/

    Replace the contents (or modify the settings) with the same from biserver-ce/tomcat/webapps/pentaho/META-INF/context.xml

    Hope it helps someone.

    • A very basic suggestion.
      In context.xml i used “jdbc:mysql://X.Y.W.Z (my server IP):3306/hibernate”
      When i tried the same in pentaho.xml i got an error.
      Had to change it to “jdbc:mysql://localhost:3306/hibernate”

  4. hi
    finished part 2. had a lot of error messages because the server takes some time to load and i was not aware of it. it takes about a min. to load and accessing the front end before that is of no use. i got the hint from pentaho articles.
    there seems no need to assign and export the $java_home in start.*.sh files as it is done in etc/profile along with appending $path (which was not instructed in part 1 explicitly). i suppose there are many hurdles ahead. tk u for ur effort and am proud of the foss community.
    mahamood

  5. hi martinez
    i got over the starting problem. created file setenv.sh under $catalina_home and added :
    export java_opts=”-server -Xmx512m”. this tunes tomcat’s memory settings, i am informed.
    mahamood

    • Hi mahamood,
      I see you are having fun exploring and reading forums and related post.
      That’s how I did it myself too. I recomend you skip to #5 post that collects more information the BI Server.
      On the memory note that is the setting used since 3.8.
      Thanks for the commnent.

  6. hi
    solved ‘new user’ problem. now i don’t get the cube for foodmart in analytics. is the restored backup file for foodmart faulty.
    mahamood

  7. Hello Francisco,

    first of all, thank you very much for your extensive blog. It’s the second time I’m using it to set up a Pentaho server to test with, first using Ubuntu, now with Fedora 15.

    I’ve noticed the ‘foodmart_mysql.sql‘ doesn’t include a CREATE and/or USE database statement, which results in all the foodmart tables being loaded into the ‘sampledata’ database – it least it did in my case. This might just cause the problem mahamood writes about in the previous comment. However, I do have to admit I did not test it yet.

    In order to resolve the above mentioned omission I’ve added the following MYSQL statements to lines 18-21 of the ‘foodmart_mysql.sql‘ script, which basically creates a new database (foodmart), a user (foodmart) with identical password and orders the server to use this database for loading the tables:

    CREATE DATABASE IF NOT EXISTS foodmart;
    grant all on foodmart.* to foodmart identified by ‘foodmart’;

    USE foodmart;

    • Yes, you can control row or even field access.
      But to do that you have to use a metadata model, where you can assign roles.
      In the report or Olap queries you can check if you show the data or not.
      In the query browser (WAQR) was automatic but it is a very simple query builder. The new enterprise app seems more robust but I haven’t tried it.
      On January you’ll se repository, access control post on this blogs.
      Greetings

  8. Awesome tutorial
    I got the admin console working fine, problem is I get HTTP Status 404 when I try to run the biserver(//localhost:8080).

    Thanks in advance.

  9. Hi my friend.
    I tried install Pentaho on linux Ubuntu and i’m crazy.
    Can you help me?
    I’m try step-by-step but show this errors on log pentaho:

    2012-02-03 02:46:27,955 ERROR [org.pentaho.platform.util.logging.Logger] misc-org.pentaho.platform.scheduler.QuartzSystemListener: QuartzSystemListener.ERROR_0001 – [pt_1] Scheduler was not properly initialized at startup
    org.quartz.SchedulerConfigException: Failure occured during job recovery. [See nested exception: org.quartz.JobPersistenceException: Couldn’t clean volatile data: DELETE command denied to user ‘pentaho_user’@’localhost’ for table ‘QRTZ_FIRED_TRIGGERS’ [See nested exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: DELETE command denied to user ‘pentaho_user’@’localhost’ for table ‘QRTZ_FIRED_TRIGGERS’]]
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.initialize(JobStoreSupport.java:493)
    at org.quartz.impl.jdbcjobstore.JobStoreTX.initialize(JobStoreTX.java:68)
    at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:1010)
    at org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1152)
    at org.pentaho.platform.scheduler.QuartzSystemListener.startup(QuartzSystemListener.java:112)
    at org.pentaho.platform.engine.core.system.PentahoSystem.notifySystemListenersOfStartup(PentahoSystem.java:342)
    at org.pentaho.platform.engine.core.system.PentahoSystem.notifySystemListenersOfStartup(PentahoSystem.java:324)
    at org.pentaho.platform.engine.core.system.PentahoSystem.init(PentahoSystem.java:291)
    at org.pentaho.platform.engine.core.system.PentahoSystem.init(PentahoSystem.java:208)
    at org.pentaho.platform.web.http.context.SolutionContextListener.contextInitialized(SolutionContextListener.java:137)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
    at org.apache.catalina.core.StandardService.start(StandardService.java:519)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
    * Nested Exception (Underlying Cause) —————
    org.quartz.JobPersistenceException: Couldn’t clean volatile data: DELETE command denied to user ‘pentaho_user’@’localhost’ for table ‘QRTZ_FIRED_TRIGGERS’ [See nested exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: DELETE command denied to user ‘pentaho_user’@’localhost’ for table ‘QRTZ_FIRED_TRIGGERS’]
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.cleanVolatileTriggerAndJobs(JobStoreSupport.java:642)
    at org.quartz.impl.jdbcjobstore.JobStoreTX.cleanVolatileTriggerAndJobs(JobStoreTX.java:116)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.initialize(JobStoreSupport.java:491)
    at org.quartz.impl.jdbcjobstore.JobStoreTX.initialize(JobStoreTX.java:68)
    at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:1010)
    at org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1152)
    at org.pentaho.platform.scheduler.QuartzSystemListener.startup(QuartzSystemListener.java:112)
    at org.pentaho.platform.engine.core.system.PentahoSystem.notifySystemListenersOfStartup(PentahoSystem.java:342)
    at org.pentaho.platform.engine.core.system.PentahoSystem.notifySystemListenersOfStartup(PentahoSystem.java:324)
    at org.pentaho.platform.engine.core.system.PentahoSystem.init(PentahoSystem.java:291)
    at org.pentaho.platform.engine.core.system.PentahoSystem.init(PentahoSystem.java:208)
    at org.pentaho.platform.web.http.context.SolutionContextListener.contextInitialized(SolutionContextListener.java:137)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
    at org.apache.catalina.core.StandardService.start(StandardService.java:519)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
    * Nested Exception (Underlying Cause) —————
    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: DELETE command denied to user ‘pentaho_user’@’localhost’ for table ‘QRTZ_FIRED_TRIGGERS’
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.Util.getInstance(Util.java:386)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1990)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2151)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2625)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2415)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2333)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2318)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
    at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.deleteVolatileFiredTriggers(StdJDBCDelegate.java:3612)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.cleanVolatileTriggerAndJobs(JobStoreSupport.java:639)
    at org.quartz.impl.jdbcjobstore.JobStoreTX.cleanVolatileTriggerAndJobs(JobStoreTX.java:116)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.initialize(JobStoreSupport.java:491)
    at org.quartz.impl.jdbcjobstore.JobStoreTX.initialize(JobStoreTX.java:68)
    at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:1010)
    at org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1152)
    at org.pentaho.platform.scheduler.QuartzSystemListener.startup(QuartzSystemListener.java:112)
    at org.pentaho.platform.engine.core.system.PentahoSystem.notifySystemListenersOfStartup(PentahoSystem.java:342)
    at org.pentaho.platform.engine.core.system.PentahoSystem.notifySystemListenersOfStartup(PentahoSystem.java:324)
    at org.pentaho.platform.engine.core.system.PentahoSystem.init(PentahoSystem.java:291)
    at org.pentaho.platform.engine.core.system.PentahoSystem.init(PentahoSystem.java:208)
    at org.pentaho.platform.web.http.context.SolutionContextListener.contextInitialized(SolutionContextListener.java:137)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
    at org.apache.catalina.core.StandardService.start(StandardService.java:519)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
    2012-02-03 02:46:28,100 ERROR [org.pentaho.platform.util.logging.Logger] Error: Pentaho
    2012-02-03 02:46:28,100 ERROR [org.pentaho.platform.util.logging.Logger] misc-org.pentaho.platform.engine.core.system.PentahoSystem: PentahoSystem.ERROR_0014 – [pt_71] Error while trying to execute startup sequence for org.pentaho.platform.scheduler.QuartzSystemListener
    org.pentaho.platform.api.engine.PentahoSystemException: PentahoSystem.ERROR_0014 – [pt_71] Error while trying to execute startup sequence for org.pentaho.platform.scheduler.QuartzSystemListener
    at org.pentaho.platform.engine.core.system.PentahoSystem.notifySystemListenersOfStartup(PentahoSystem.java:350)
    at org.pentaho.platform.engine.core.system.PentahoSystem.notifySystemListenersOfStartup(PentahoSystem.java:324)
    at org.pentaho.platform.engine.core.system.PentahoSystem.init(PentahoSystem.java:291)
    at org.pentaho.platform.engine.core.system.PentahoSystem.init(PentahoSystem.java:208)
    at org.pentaho.platform.web.http.context.SolutionContextListener.contextInitialized(SolutionContextListener.java:137)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
    at org.apache.catalina.core.StandardService.start(StandardService.java:519)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
    Caused by: org.pentaho.platform.api.engine.PentahoSystemException: PentahoSystem.ERROR_0014 – [pt_71] Error while trying to execute startup sequence for org.pentaho.platform.scheduler.QuartzSystemListener
    at org.pentaho.platform.engine.core.system.PentahoSystem.notifySystemListenersOfStartup(PentahoSystem.java:343)
    … 28 more
    2012-02-03 02:46:28,101 ERROR [org.pentaho.platform.util.logging.Logger] Error end:

    • Had the same problem.
      For me the solution was to change

      Quartz/user=pentaho_user
      Quartz/password=password

      to

      Quartz/user=pentaho_admin
      Quartz/password=password

      Hope this helps

    • Hi Marcos,
      Revisited your post to see If you have resolved your problem.
      And saw in the logs:
      “DELETE command denied to user ‘pentaho_user’@’localhost’ ”
      There you have it, check step 2 and create a host (lower left panel) in MySql Administrator for ‘localhost’ and give the pentaho_user rights over the quartz tables. Sorry for the delay. Good luck

  10. Sorry forgot to mention where to make the change:

    Pentaho/biserver-ce/pentaho-solutions/system/simple-jndi/jdbc.properties

  11. Hi
    I’m stuck on step 9, creating a database connection. I’m working in a turnkey vm. When I test the database connection it is successful, however when I click ok I get this error:
    Error
    Error Creating Database Connection

    • This is the last few of many pages of server.log:

      java.sql.SQLException: Access denied for user ‘hibuser’@’localhost’ (using password: YES)
      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597)
      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)
      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:935)
      at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4101)
      at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1300)
      at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2337)
      at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2370)
      at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2154)
      at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:792)
      at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
      at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
      at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381)

      at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
      at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381)
      at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
      at java.sql.DriverManager.getConnection(DriverManager.java:579)
      at java.sql.DriverManager.getConnection(DriverManager.java:190)
      at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
      at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423)
      at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
      at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:119)
      at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:57)
      at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326)
      at org.pentaho.pac.server.datasources.DataSourceHibernateDAO.beginTransaction(DataSourceHibernateDAO.java:95)
      at org.pentaho.pac.server.datasources.DataSourceMgmtService.beginTransaction(DataSourceMgmtService.java:76)
      at org.pentaho.pac.server.PacServiceImpl.createDataSource(PacServiceImpl.java:426)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:601)
      at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562)
      at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:188)
      at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224)
      at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
      at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
      at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
      at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
      at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
      at org.mortbay.jetty.Server.handle(Server.java:285)
      at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
      at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:835)
      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:638)

      at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:835)
      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:638)
      at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:208)
      at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378)
      at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:226)
      at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
      2012-02-27 11:33:05,107 WARN [org.hibernate.util.JDBCExceptionReporter] SQL Error: 1045, SQLState: 28000
      2012-02-27 11:33:05,107 ERROR [org.hibernate.util.JDBCExceptionReporter] Access denied for user ‘hibuser’@’localhost’ (using$
      2012-02-27 11:33:05,107 ERROR [org.pentaho.pac.server.PacServiceImpl] PacService.ERROR_0048 – Failed to rollback transaction.
      2012-02-27 11:33:05,107 ERROR [/] Exception while dispatching incoming RPC call
      com.google.gwt.user.server.rpc.UnexpectedException: Service method ‘public abstract boolean org.pentaho.pac.client.PacServic$
      at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:378)
      at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:581)
      at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:188)
      at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224)
      at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
      at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
      at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
      at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
      at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
      at org.mortbay.jetty.Server.handle(Server.java:285)
      at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
      at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:835)
      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:638)
      at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:208)
      at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378)
      at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:226)
      at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
      Caused by: org.hibernate.exception.GenericJDBCException: Cannot open connection
      at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)

      Caused by: org.hibernate.exception.GenericJDBCException: Cannot open connection
      at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
      at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
      at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
      at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
      at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:426)
      at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
      at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:119)
      at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:57)
      at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326)
      at org.pentaho.pac.server.datasources.DataSourceHibernateDAO.beginTransaction(DataSourceHibernateDAO.java:95)
      at org.pentaho.pac.server.datasources.DataSourceMgmtService.beginTransaction(DataSourceMgmtService.java:76)
      at org.pentaho.pac.server.PacServiceImpl.createDataSource(PacServiceImpl.java:426)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:601)
      at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562)
      … 19 more
      Caused by: java.sql.SQLException: Access denied for user ‘hibuser’@’localhost’ (using password: YES)
      at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597)
      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)
      at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:935)
      at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4101)
      at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1300)
      at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2337)
      at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2370)
      at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2154)
      at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:792)
      at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
      at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
      at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381)
      at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
      at java.sql.DriverManager.getConnection(DriverManager.java:579)
      at java.sql.DriverManager.getConnection(DriverManager.java:190)
      at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
      at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423)
      … 31 more
      2012-02-27 11:33:23,057 DEBUG [httpclient.wire.header] >> “GET /pentaho/ping/alive.gif?requestedMimeType=text%2Fxml HTTP/1.1$
      2012-02-27 11:33:23,057 DEBUG [httpclient.wire.header] >> “User-Agent: org.pentaho.pac.server.common.ThreadSafeHttpClient[\r$
      2012-02-27 11:33:23,057 DEBUG [httpclient.wire.header] >> “Host: localhost:8080[\r][\n]”
      2012-02-27 11:33:23,058 DEBUG [httpclient.wire.header] >> “[\r][\n]”
      2012-02-27 11:33:23,060 DEBUG [httpclient.wire.header] << "HTTP/1.1 404 Not Found[\r][\n]"
      2012-02-27 11:33:23,061 DEBUG [httpclient.wire.header] << "Server: Apache-Coyote/1.1[\r][\n]"
      2012-02-27 11:33:23,061 DEBUG [httpclient.wire.header] << "Content-Type: text/html;charset=utf-8[\r][\n]"
      2012-02-27 11:33:23,061 DEBUG [httpclient.wire.header] << "Content-Length: 952[\r][\n]"
      2012-02-27 11:33:23,061 DEBUG [httpclient.wire.header] << "Date: Mon, 27 Feb 2012 09:33:23 GMT[\r][\n]"
      2012-02-27 11:33:23,061 ERROR [org.pentaho.pac.server.common.ThreadSafeHttpClient] ThreadSafeHttpClient.ERROR_0001 – Client $
      2012-02-27 11:33:23,061 DEBUG [httpclient.wire.content] << "Apache Tomcat/6.0.29 – Error report<s$

  12. Hi and thanks for the great post. You said that, ” You should see a connection error as it tries to connect with the Pentaho Server. But close it, for adding datasources its ok.” in step 9. I was however hoping for a way to correct the error. I tried:

    1. Stopping all services and restarting the admin console
    2. Updating my web.xml in tomcat\webapps to reflect my ip address
    Code:
    TrustedIpAddrs
    127.0.0.1,192.168.223.35
    3. Clearing my web history
    None of the above seemed to work. I don’t know if you have a better solution. Your assistance will be greatly appreciated.

  13. I encountered the same problems as Mirko, Rob and Tobias when I upgraded from 3.8 to 3.10 (BI Suite 4.0).

    I solved it editing the file “pentaho-solutions/system/simple-jndi/jdbc.properties”. After that the server works. It was neccessary to create the file “biserver-ce/tomcat/conf/Catalina/localhost/pentaho.xml”. I’m using a local tomcat installation.

    Another problem I had was with the Administration Console. Without any configuration the Administration Console give errors regarding the connection to BI server and it didn’t show any previous user or data source I had in the system

    I solve it editing the file “administresource/config/console.xmlration-console/” where I put the path to war file in my case “usr/local/apache-tomcat-6.0.26/webapps/pentaho” and the path to pentaho solution.

    Best regards,
    Andrei
    Your comment is awaiting moderation.

  14. Everything is working fine except the Analysis. When I try to execute the “Quadrant Slice and Dice” I got the following error: “An error occurred while rendering Pivot.jsp. Please see the log for details.”. The same error appears when I try to make a new “Analysis View”. Any hints?

    I have no idea what could be causing this

  15. I got an error in catalina.out when executing ./start-pentaho.sh. The error is “SEVERE error : listnerStart”. I am using ubuntu 10.10 (32 bit)
    Please help me to solve this.
    Thanks in advnce

  16. Thank you so much for this blog! It finally helped me solve an issue I had with the Quartz Listener… I’ve described it here: http://forums.pentaho.com/showthread.php?96497-Pentaho-4-5-wit-Postgres-qrtz_triggers-does-not-exist
    I’ve turned it off as you point out in the SystemListener.xml, now 4.5 ist working fine for me.

    Also, I had an issue with BI Server and the Admin Console, that postgresql.hibernate.cfg.xml is not found, and described it here: http://forums.pentaho.com/showthread.php?97127-Found-a-bug-in-Biserver-Admin-Console-4-5-where-can-I-report-it

    Maybe these are related.

    Thank you again, your work is highly appreciated!!

  17. A big thankyou for sharing this with everyone. I am using Ubuntu 12.04, MySQL 5.5. and Pentaho BI suite 3.9.0

    It did take a while get correct but it appears to work fine

    Michael

  18. Quote:”Privileges for ‘pentaho_user‘ on datamart, foodmart, hibernate, quartz, sampledata, loading_area schemas will be SELECT, INSERT, UPDATE, DELETE (omit DELETE for hibernate and quartz).”

    This was causing me big troubles for a cuple of days. In version 4.5 (didn’t try previous versions) you should give the penatho_user full permissions on quartz (maybe also hibernate) database, otherwise the quartz listerner wont start, via mysql konsole you can use “grant all privileges” commnad to acomplish this.

    Otherwise good tutorial, thanks.

  19. Is it absolutely necessary to give a “grant all” privilege for pentaho_user? Our business need is to have specific privileges only. What privileges should we be granting? Does anyone have a tried and tested solution?

    • I’m using (for Pentaho 4.5 CE) for the pentaho_user these permissions, which seem to be working for me:
      hibernate: Select | Insert | Update | Alter
      quartz: Select | Insert | Update | Delete | Create | Drop | Alter
      datamart: Select | Insert | Update | Delete | Alter
      loading_area: Select | Insert | Update | Delete | Alter
      sampledata: Select | Insert | Update | Delete | Alter

      Good luck setting up your system!

  20. what all permissions are absolutely necessary for running jobs on Pentaho with MySQL on RDS? I see that hibuser, pentaho_user and pentaho_admin users are granted all permission in script found in analyzethis. As far as i know we cannot provide all permissions on RDS

  21. Hi Francisco,
    in the step 5, when editing the applicationContext-spring-security-hibernate.properties file, the dialect is MySQLDialect without the 5, this worked for me.
    Excelente work…!

  22. Hi Francisco:

    In setting up a Postgres database I ran into an issue with errors related to “Bad value for type long”. Turns out that there was a Quartz related edit required in system/quartz/quartz.properties where you need to configure the proper ‘driverDelegateClass’.

    org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate

    From the comments in the property file it looks like some databases need a database specific setting:

    # org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.
    # Where DriverDelegateClass is one of:
    # – StdJDBCDelegate (for many JDBC-compliant drivers)
    # – MSSQLDelegate (for Microsoft SQL Server drivers)
    # – PostgreSQLDelegate (for PostgreSQL drivers)
    # – WebLogicDelegate (for WebLogic drivers)
    # – oracle.OracleDelegate (for Oracle drivers)
    For newcomers to Pentaho taking a Postgre path this looks helpful though unfortunately found it after it was required!
    http://wiki.bizcubed.com.au/xwiki/bin/view/Pentaho+Tutorial/Pentaho+Configuration+Steps

    Example of error log:
    16:37:45,700 ERROR [JobStoreTX] MisfireHandler: Error handling misfires: Couldn’t store trigger: Bad value for type long : \254\3550005sr0025org.quartz.JobDataMap\237\260\203\350\277\251\260\313020001Z0023allowsTransientDataxr0035org.quartz.utils.DirtyFlagMap23\346.\255(v12\316020002Z0005dirtyL0003mapt0017Ljava/util/Map;xp01sr0021java.util.HashMap0507\332\301\30326`\321030002F0012loadFactorI0011thresholdxp?@000000000014w100000002000000001t0023versionRequestFlagssr0021java.lang.Integer22\342\240\244\367\201\2078020001I0005valuexr0020java.lang.Number\206\254\2253513\224\340\213020000xp00000000x00
    org.quartz.JobPersistenceException: Couldn’t store trigger: Bad value for type long : \254\3550005sr0025org.quartz.JobDataMap\237\260\203\350\277\251\260\313020001Z0023allowsTransientDataxr0035org.quartz.utils.DirtyFlagMap23\346.\255(v12\316020002Z0005dirtyL0003mapt0017Ljava/util/Map;xp01sr0021java.util.HashMap0507\332\301\30326`\321030002F0012loadFactorI0011thresholdxp?@000000000014w100000002000000001t0023versionRequestFlagssr0021java.lang.Integer22\342\240\244\367\201\2078020001I0005valuexr0020java.lang.Number\206\254\2253513\224\340\213020000xp00000000x00 [See nested exception: org.quartz.JobPersistenceException: Couldn’t store trigger: Bad value for type long : \254\3550005sr0025org.quartz.JobDataMap\237\260\203\350\277\251\260\313020001Z0023allowsTransientDataxr0035org.quartz.utils.DirtyFlagMap23\346.\255(v12\316020002Z0005dirtyL0003mapt0017Ljava/util/Map;xp01sr0021java.util.HashMap0507\332\301\30326`\321030002F0012loadFactorI0011thresholdxp?@000000000014w100000002000000001t0023versionRequestFlagssr0021java.lang.Integer22\342\240\244\367\201\2078020001I0005valuexr0020java.lang.Number\206\254\2253513\224\340\213020000xp00000000x00 [See nested exception: org.postgresql.util.PSQLException: Bad value for type long : \254\3550005sr0025org.quartz.JobDataMap\237\260\203\350\277\251\260\313020001Z0023allowsTransientDataxr0035org.quartz.utils.DirtyFlagMap23\346.\255(v12\316020002Z0005dirtyL0003mapt0017Ljava/util/Map;xp01sr0021java.util.HashMap0507\332\301\30326`\321030002F0012loadFactorI0011thresholdxp?@000000000014w100000002000000001t0023versionRequestFlagssr0021java.lang.Integer22\342\240\244\367\201\2078020001I0005valuexr0020java.lang.Number\206\254\2253513\224\340\213020000xp00000000x00]]
    at org.quartz.impl.jdbcjobstore.JobStoreTX.doRecoverMisfires(JobStoreTX.java:1354)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:2449)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:2468)
    * Nested Exception (Underlying Cause) —————
    org.quartz.JobPersistenceException: Couldn’t store trigger: Bad value for type long : \254\3550005sr0025org.quartz.JobDataMap\237\260\203\350\277\251\260\313020001Z0023allowsTransientDataxr0035org.quartz.utils.DirtyFlagMap23\346.\255(v12\316020002Z0005dirtyL0003mapt0017Ljava/util/Map;xp01sr0021java.util.HashMap0507\332\301\30326`\321030002F0012loadFactorI0011thresholdxp?@000000000014w100000002000000001t0023versionRequestFlagssr0021java.lang.Integer22\342\240\244\367\201\2078020001I0005valuexr0020java.lang.Number\206\254\2253513\224\340\213020000xp00000000x00 [See nested exception: org.postgresql.util.PSQLException: Bad value for type long : \254\3550005sr0025org.quartz.JobDataMap\237\260\203\350\277\251\260\313020001Z0023allowsTransientDataxr0035org.quartz.utils.DirtyFlagMap23\346.\255(v12\316020002Z0005dirtyL0003mapt0017Ljava/util/Map;xp01sr0021java.util.HashMap0507\332\301\30326`\321030002F0012loadFactorI0011thresholdxp?@000000000014w100000002000000001t0023versionRequestFlagssr0021java.lang.Integer22\342\240\244\367\201\2078020001I0005valuexr0020java.lang.Number\206\254\2253513\224\340\213020000xp00000000x00]
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:964)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs(JobStoreSupport.java:780)
    at org.quartz.impl.jdbcjobstore.JobStoreTX.doRecoverMisfires(JobStoreTX.java:1352)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:2449)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:2468)
    * Nested Exception (Underlying Cause) —————
    org.postgresql.util.PSQLException: Bad value for type long : \254\3550005sr0025org.quartz.JobDataMap\237\260\203\350\277\251\260\313020001Z0023allowsTransientDataxr0035org.quartz.utils.DirtyFlagMap23\346.\255(v12\316020002Z0005dirtyL0003mapt0017Ljava/util/Map;xp01sr0021java.util.HashMap0507\332\301\30326`\321030002F0012loadFactorI0011thresholdxp?@000000000014w100000002000000001t0023versionRequestFlagssr0021java.lang.Integer22\342\240\244\367\201\2078020001I0005valuexr0020java.lang.Number\206\254\2253513\224\340\213020000xp00000000x00
    at org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong(AbstractJdbc2ResultSet.java:2780)
    at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLong(AbstractJdbc2ResultSet.java:2003)
    at org.postgresql.jdbc4.Jdbc4ResultSet.getBlob(Jdbc4ResultSet.java:52)
    at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getBlob(AbstractJdbc2ResultSet.java:335)
    at org.apache.commons.dbcp.DelegatingResultSet.getBlob(DelegatingResultSet.java:526)
    at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.getObjectFromBlob(StdJDBCDelegate.java:3867)
    at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectJobDetail(StdJDBCDelegate.java:956)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:917)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs(JobStoreSupport.java:780)
    at org.quartz.impl.jdbcjobstore.JobStoreTX.doRecoverMisfires(JobStoreTX.java:1352)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:2449)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:2468)

  23. I am attempting an installation on CentOS and using mysql. The first tutorial was well. After making the changes in this tutorial I get a 404. Where possibly could I have gone wrong.This has been a problem to me even when using other tutorials.
    Thanks

    • There was a comment about someone using that OS. There was an error in a library but didn’t answer if it was solved.
      I would check:
      1. DB access to databases with users (permissions) from mysql tools
      2. Check the drivers are in its proper folders
      3. Check all configuration files until the web app starts. The tomcat app, jindi and spring ones.
      4. start the administration console and review the connection to the databases
      Well that was all the post 🙂
      Good luck
      5.
      3.

  24. Pingback: Pentaho CE 4.8 – BI Server Update | Interesting IT Tip's

  25. Hi, I used your first tutorial to install Biserver-ce. Great tutorial. However for the second part, I don’t have mysql. I have Oracle. How do I modify Pentaho databases to Oracle?

      • Thanks for the reply. I got everything working except now when I go to the Pentaho User Console and try to load a sample report from the Steel Wheels solution folder, it gives me the following error:

        Fatal Error: Error parsing parameter information

        I looked everywhere online but can’t find a solution. Do you know anything about this error?

        I apologize for bothering you like this.

  26. Hi Francisco. Thanks for this tutorial series – it’s by far the most useful that I’ve come across as a new Pentaho user and I was able to get up to speed fairly quick.

    I’m wondering if you might have some thoughts about how to do this in Pentaho 5*? As regards this part of the tutorial, I’m having trouble at Step 5; the file applicationContext-spring-security-jdbc.xml appears to have changed a bit: it refers to applicationContext-spring-security-jdbc.properties for the datasource information so I tried updating the connection info there.

    Unfortunately when I start biserver I see “LoginModule failed to initialize” in my logs and am unable to login. (I can make a stack trace available if required)

    * I’m using the biserver-ce build from Jenkins, at least until the official general release.

    • Sorry for the noise; made a typo in step 4. I still get the “LoginModule” failed to initialize” message in pentaho.log, however I can login now.

      For anyone else who might attempt this it should be noted that the quartz tables have changed in CE 5 (they’re now prefixed with QRTZ5_). See biserver-ce/data/create_quartz_mysql.sql which also includes a note about updating biserver-ce/pentaho-solutions/system/quartz/quartz.properties

  27. Error Start: Pentaho Pentaho Platform Engine Core 4.8.0-stable.51169
    2013-12-29 04:55:03,950 ERROR [org.pentaho.platform.plugin.action.sql.SQLLookupRule] 47738a98-7017-11e3-8167-7949d283f5ad:COMPONENT:context-4315614-1388273103682:global-department-list.xactionSQLBaseComponent.ERROR_0006 – Could not execute global-department-list.xaction
    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘hibernate.QUADRANT_ACTUALS’ doesn’t exist
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
    at com.mysql.jdbc.Util.getInstance(Util.java:381)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3558)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3490)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2109)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2642)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2571)
    at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1464)
    at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
    at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
    at org.pentaho.platform.plugin.services.connections.sql.SQLConnection.executeQuery(SQLConnection.java:381)
    at org.pentaho.platform.plugin.services.connections.sql.SQLConnection.executeQuery(SQLConnection.java:332)
    at org.pentaho.platform.plugin.action.sql.SQLBaseComponent.doQuery(SQLBaseComponent.java:649)
    at org.pentaho.platform.plugin.action.sql.SQLBaseComponent.runQuery(SQLBaseComponent.java:559)
    at org.pentaho.platform.plugin.action.sql.SQLBaseComponent.executeAction(SQLBaseComponent.java:257)
    at org.pentaho.platform.engine.services.solution.ComponentBase.execute(ComponentBase.java:463)
    at org.pentaho.platform.engine.services.runtime.RuntimeContext.executeComponent(RuntimeContext.java:1296)
    at org.pentaho.platform.engine.services.runtime.RuntimeContext.executeAction(RuntimeContext.java:1262)
    at org.pentaho.platform.engine.services.runtime.RuntimeContext.performActions(RuntimeContext.java:1161)
    at org.pentaho.platform.engine.services.runtime.RuntimeContext.executeLoop(RuntimeContext.java:1105)
    at org.pentaho.platform.engine.services.runtime.RuntimeContext.executeSequence(RuntimeContext.java:987)
    at org.pentaho.platform.engine.services.runtime.RuntimeContext.executeSequence(RuntimeContext.java:897)
    at org.pentaho.platform.engine.services.solution.SolutionEngine.executeInternal(SolutionEngine.java:399)
    at org.pentaho.platform.engine.services.solution.SolutionEngine.execute(SolutionEngine.java:317)
    at org.pentaho.platform.engine.services.solution.SolutionEngine.execute(SolutionEngine.java:193)
    at org.pentaho.platform.engine.core.system.PentahoSystem.globalStartup(PentahoSystem.java:735)
    at org.pentaho.platform.engine.core.system.PentahoSystem.globalStartup(PentahoSystem.java:690)
    at org.pentaho.platform.engine.core.system.PentahoSystem.init(PentahoSystem.java:304)
    at org.pentaho.platform.engine.core.system.PentahoSystem.init(PentahoSystem.java:208)
    at org.pentaho.platform.web.http.context.SolutionContextListener.contextInitialized(SolutionContextListener.java:137)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
    at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1244)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1342)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
    at java.lang.Thread.run(Thread.java:722)

    • mahathir
      In Pentaho the key to solve the platform interaction problems is to learn to look for messages in the logs.
      In the above message the important sentence is ‘Table ‘hibernate.QUADRANT_ACTUALS’ doesn’t exist’.
      That means that a table is not found. Now in this post yo modified: 1. The user and access privileges. 2. The database to MySql and the script that created the SampleData DB where the table resides.
      So please check those steps again and see if something was not properly acomplished.
      Be patient, good luck

  28. Pingback: Broken Admin Console After Modifying Pentaho Demo Databases to MySQL | Zeuner

  29. Thanks for the tutorial.
    I have followed all the steps till 8 but in the 9 step
    I don’t find /Pentaho/bi-server/administration-console/start-pac.sh in 5.2.0 version apart from that i have done all the steps

    I have the problem

    Pentaho Initialization Exception

    The following errors were detected One or more system listeners failed. These are set in the systemListeners.xml. org.pentaho.platform.api.engine.PentahoSystemException: PentahoSystem.ERROR_0014 – Error while trying to execute startup sequence for org.pentaho.platform.scheduler2.quartz.EmbeddedQuartzSystemListener

    The Catalina log https://www.dropbox.com/s/knpuu6nazwa8p0g/catalina.out?dl=0

    The Pentaho log file https://www.dropbox.com/s/fz99afs9ov0pnfs/pentaho.log?dl=0

    Please help me asap i working on the project ! Thanks in advance

  30. Pingback: Pentaho + MYSQL Initialization Exception - Technology

  31. Pingback: Installing Pentaho 6.1 Community Edition on Ubuntu | Jaapjansma.nl

  32. Pingback: Pentaho: Installation | Ricardo Malla's Blog

  33. Pingback: Pentaho Server 8.1 with MySql | Interesting IT Tip's

  34. connection exception: connection failure: org.hsqldb.HsqlException: connection exception
    at java.lang.Thread.run(Unknown Source)
    Caused by: org.hsqldb.HsqlException: connection exception: connection failure: org.hsqldb.HsqlException: connection exception
    05:19:36,036 ERROR [Logger] Error: Pentaho
    05:19:36,038 ERROR [Logger] misc-org.pentaho.platform.engine.core.system.PentahoSystem: org.pentaho.platform.api.engine.PentahoSystemException: PentahoSystem.ERROR_0014 – Error while trying to execute startup sequence for org.pentaho.platform.scheduler2.quartz.EmbeddedQuartzSystemListener
    org.pentaho.platform.api.engine.PentahoSystemException: org.pentaho.platform.api.engine.PentahoSystemException: PentahoSystem.ERROR_0014 – Error while trying to execute startup sequence for org.pentaho.platform.scheduler2.quartz.EmbeddedQuartzSystemListener
    at org.pentah
    Caused by: org.pentaho.platform.api.engine.PentahoSystemException: PentahoSystem.ERROR_0014 – Error while trying to execute startup sequence for org.pentaho.platform.scheduler2.quartz.EmbeddedQuartzSystemListener
    Pentaho Initialization Exception

    The following errors were detected
    One or more system listeners failed. These are set in the systemListeners.xml.
    org.pentaho.platform.api.engine.PentahoSystemException: PentahoSystem.ERROR_0014 – Error while trying to execute startup sequence for org.pentaho.platform.scheduler2.quartz.EmbeddedQuartzSystemListener

    Please see the server console for more details on each error detected.

    • Govardhan,
      The reported error is about the startup of the Quarz database that is used for scheduling.
      In the demo is in the embeded hsqldb Database.
      Check the commented lines in the config listener’s files and then the connection JNDI parameters for your new database.
      Good luck

Leave a comment