Install BA Server with Your Own BA Repository
This document supports Pentaho Business Analytics Suite 5.0 GA and Pentaho Data Integration 5.0 GA, documentation revision February 3, 2014, copyright 2014 Pentaho Corporation. No part may be reprinted without written permission from Pentaho Corporation. All trademarks are the property of their respective owners. Help and Support Resources If you do not find answers to your quesions here, please contact your Pentaho technical support representative. Support-related questions should be submitted through the Pentaho Customer Support Portal at http://support.pentaho.com. For information about how to purchase support or enable an additional named support contact, please contact your sales representative, or send an email to sales@pentaho.com. For information about instructor-led training, visit http://www.pentaho.com/training. Liability Limits and Warranty Disclaimer The author(s) of this document have used their best efforts in preparing the content and the programs contained in it. These efforts include the development, research, and testing of the theories and programs to determine their effectiveness. The author and publisher make no warranty of any kind, express or implied, with regard to these programs or the documentation contained in this book. The author(s) and Pentaho shall not be liable in the event of incidental or consequential damages in connection with, or arising out of, the furnishing, performance, or use of the programs, associated instructions, and/or claims. Trademarks Pentaho (TM) and the Pentaho logo are registered trademarks of Pentaho Corporation. All other trademarks are the property of their respective owners. Trademarked names may appear throughout this document. Rather than list the names and entities that own the trademarks or insert a trademark symbol with each mention of the trademarked name, Pentaho states that it is using the names for editorial purposes only and to the benefit of the trademark owner, with no intention of infringing upon that trademark. Third-Party Open Source Software For a listing of open source software used by each Pentaho component, navigate to the folder that contains the Pentaho component. Within that folder, locate a folder named licenses. The licenses folder contains HTML.files that list the names of open source software, their licenses, and required attributions. Contact Us Global Headquarters Pentaho Corporation Citadel International, Suite 340 5950 Hazeltine National Drive Orlando, FL 32822 Phone: +1 407 812-OPEN (6736) Fax: +1 407 517-4575 http://www.pentaho.com Sales Inquiries: sales@pentaho.com
TOC 3 Contents Introduction..4 Overview of the Installation Process5 Prepare Environment..6 Create User Account 6 Create Windows User Account. 6 Create Linux User Account. 6 Create Directory Structure. 7 Create Windows Directory Structure..7 Create Linux Directory Structure..7 Install the BA Repository Host Database7 Install Java JRE or JDK.. 8 Download and Unpack Installation Files.8 Set Environment Variables 9 Set Windows PENTAHO_JAVA_HOME and PENTAHO_INSTALLED_LICENSE_PATH Variables9 Set Linux PENTAHO_JAVA_HOME and PENTAHO_INSTALLED_LICENSE_PATH Variables 9 Adjust Amount of Memory Mac OS Allocates for PostgreSQL. 10 Initialize Repository11 Initialize PostgreSQL BA Repository Database11 Initialize MySQL BA Repository Database. 13 Initialize Oracle BA Repository Database13 Configure Repository15 Configure PostgreSQL BA Repository Database 15 Configure Quartz on PostgreSQL BA Repository Database15 Configure Hibernate Settings for PostgreSQL BA Repository Database..15 Modify Jackrabbit BA Repository Information for PostgreSQL.. 16 Prepare MySQL BA Repository Database..19 Configure Quartz on MySQL BA Repository Database. 19 Configure Hibernate Settings for MySQL..19 Replace Default Version of Audit Log File with MySQL Version19 Modify Jackrabbit Repository Information for MySQL.19 Prepare Oracle BA Repository Database 22 Configure Quartz on Oracle BA Repository Database22 Configure Hibernate Settings for Oracle 23 Replace Default Version of Audit Log File with Oracle Version. 23 Modify Jackrabbit Repository Information for Oracle.. 23 Specify Connections.27 Perform Tomcat-Specific Connection Tasks. 27 Download and Install Repository Database JDBC Drivers.. 27 Download and Install H2 JDBC Drivers. 27 Modify JDBC Connection Information in the Tomcat context.xml File 27 Start BA Server30 Install BA Server License Keys.30 Modify Tomcat Startup Script 30 Modify the Tomcat Windows Startup Script. 30 Starting the BA Server.. 30 Windows Pentaho Archive Installation30 Linux Pentaho Archive Installation31 Next Steps. 32
Introduction Introduction 4 This section explains how to install Business Analytics (BA) Server and configure it to use the BA Repository database of your choice. The BA Repository contains solution content, scheduling, and audit tables needed for the BA Server to operate. You can house the BA Repository on PostgreSQL, MySQL, or Oracle. With this installation option, you must supply, install, and configure your chosen database yourself. Prerequisites Read Select BA Installation Option to make sure that this is the best installation option for you. Then, check the Supported Technologies tables to make sure that your server computer, BA Repository database, and web browser meet Pentaho's requirements for this version of the software. Expertise The topics in this section are written for IT administrators, evaluators, and analysts who have who have access to the server on which the BA Server will be installed. You should know where data is stored, how to connect to it, details about the computing environment, and how to use the command line to issue commands for Microsoft Windows or Linux. You should also know how to install a database. Tools You will need a text editor and a zip tool to complete some of the steps in this installation process. Login Credentials All of the tasks in this section require that you have the appropriate permissions and accesses required to install software on servers and workstations.
Overview of the Installation Process Overview of the Installation Process 5 To install the BA Server, perform the tasks indicated in the guidepost. Prepare Environment: Explains how to prepare your computer for the installation proccess. Initialize Repository: Provides information about how to run DDL scripts that create tables for the BA Repository. Configure Repository: Provides information about how to configure the BA Repositories on your selected database. Specify Connections: Explains how to specify the JDBC connections to the BA Repository. Start BA Server: Explains how to start the BA Server. Next Steps: Indicates what to do after the BA Server has been installed.
Prepare Environment Prepare Environment 6 To prepare the computer on which you plan to install the BA Server, complete these tasks. Create a pentaho user account if you plan to install the BA Server on a Linux machine. Install the BA Repository database. If you already have a database installed, skip this task. Install Java JRE or JDK. Download and unpack the installation files. Set environment variables. Perform advanced preparations, if necessary. Create User Account Create Windows User Account If you plan to install on a server that runs Windows, you do not need to create a special user account on the server. However, you should use an account that has administrator privileges to complete the tasks in these instructions. Create Linux User Account If you plan to install the BA Server in a Linux environment you must create a user account named pentaho on the server computer. By default, license information for Pentaho products is stored in the home directory for this account. Use this account to perform installation tasks that do not require root access. Also, use this account to run start and stop server scripts. 1. Open a Terminal window on the server. If you plan to install the BA Server on a remote computer, establish an OpenSSH session to the remote server. 2. In the Terminal window, log in as the root user by typing this command. su root 3. When prompted, type the password in the Terminal window. 4. In the Terminal window, create a new user account called pentaho, along with the pentaho home directory, by typing this line. sudo useradd -s /bin/bash -m pentaho Note: /bin/bash indicates that the user account should be created using the Bash shell. In many Linux distributions, the default new user shell is /bin/sh or some equivalent, such as Dash, that might not use the ~/.bashrc configuration file by default. If you don't have or want to use Bash, adjust the instructions throughout in this section accordingly. 5. In the Terminal window, assign a password for the pentaho user by typing this line. sudo passwd pentaho 6. Verify that you can log in using the newly-created pentaho user account. a) In the Terminal window, attempt to log in by typing this line. su pentaho - b) Type the password for the pentaho user account if you are prompted. c) Use the Terminal window to navigate to the pentaho directory to verify that it has been created. By default, it is in the /home directory.
Prepare Environment 7 d) Close the Terminal window. Create Directory Structure Create Windows Directory Structure 1. Log into the machine on which you will run the BA Server. 2. Create this directory path. pentaho/server 3. Verify that you have the appropriate permissions to read, write, and execute commands in the directories you created. a) Open Windows Explorer and right-click the pentaho directory. b) Select the Properties option and the Security tab to verify that you have read, write, and execute permissions. c) In Windows Explorer navigate to server directory, then right-click. d) Select the Properties option and the Security tab to verify that you have read, write, and execute permissions. Create Linux Directory Structure 1. Log into the machine on which you will run the BA Server. Make sure that you are logged in as the pentaho user. 2. Create this directory path from home directory (pentaho). pentaho/server 3. Verify that you have the appropriate permissions to read, write, and execute commands in the directories you created. a) In Linux check the permissions of the pentaho, server, and biserver-ee directories by opening a Terminal window, navigating to the pentaho directory, then typing this command. ls -ld../pentaho../pentaho/server b) Make sure that permissions for the directories allow you to read, write, and execute in those directories. Install the BA Repository Host Database The BA Repository houses data needed for Pentaho tools to provide scheduling and security functions, as well as metadata and models for reports that you create. You can choose to host the BA Repository on the PostgreSQL, MySQL, or Oracle database. By default, Pentaho software is configured to use the PostgreSQL Database. If you already have a BA Repository database installed, you can skip this step. 1. To download and install the BA Repository database, use the instructions in the documentation for the database of your choice. It does not matter where you install the database. 2. Verify that the BA Repository database is installed correctly. You can do this by connecting to your database and viewing the contents of any default databases that might have been created upon installation. Consult the user documentation for the database that you installed for further details. Note: If you are not familiar with SQL, consider using a visual database design tool to connect to the database and view its contents. PGAdminIII is bundled with PostgreSQL. MySQL Workbench can be used with MySQL. It is available as a separate download. Check the MySQL site for details on how to obtain this design tool. Oracle SQL Developer can be used with Oracle. It is available as a separate download. Check the Oracle site for details on how to obtain this design tool.
Prepare Environment 8 Install Java JRE or JDK Make sure that the version of the Java Runtime Environment (JRE) or the Java Development Kit (JDK) that Pentaho needs to run is installed on your system. You do not need to uninstall other versions of Java if you already have them running on your system. These instructions explain how to check for your default version of Java that is running on your computer and where to get the required version if you need one. 1. Check the supported technologies list to see which version of the JRE or JDK is needed for the software. 2. If you have not done so already, log into the computer on which you plan to install the software. Ensure that you have the appropriate permissions to install software. 3. Open a Terminal or a Command Prompt window. Enter this command. java -version 4. If the version of Java does not match the version needed to run Pentaho software, check your system to see if there are other versions of Java installed. 5. If the version of Java that you need to run Pentaho software is not on your system, download it from the Oracle site and install it. Download and Unpack Installation Files If you want to install specific Pentaho software, obtain the installation packages from the Pentaho Customer Support Portal. Consult your Welcome Kit if you need more information about the portal. The Pentaho BA Server software, data files, and examples are stored in pre-packaged.zip files. Manually copy these files to correct directories. If you want the functionality provided by the plugins, such as running reports, you should install the plugins before starting the server. They are included in the steps below. 1. Make sure the web application server on which you plan to deploy the BA Server has been stopped. 2. Download the following installation and plug-in files. BA Server: biserver-ee-5.0.0-dist.zip. Dashboard Designer Plugin: pdd-plugin-ee-5.0.0-dist.zip. Geo Plugin: pentaho-geo-5.0.0-dist.zip. Interactive Reporting Plugin:pir-plugin-ee-5.0.0-dist.zip. Mobile Plugin: pentaho-mobile-plugin-5.0.0-dist.zip. Pentaho Analyzer Pluginpaz-ee-5.0.0-dist.zip. 3. Unpack the file by completing these steps. a) Use a zip tool to extract the distribution files you just downloaded. b) Open a Command Prompt or Terminal window and navigate to the folder that contains the files you just extracted. c) Enter one of the following at the prompt. Windows: install.bat Linux:./install.sh d) Read the license agreement that appears. Select I accept the terms of this license agreement, then click Next. Note: If you are unpacking the file in a non-graphical environment, open a Terminal or Command Prompt window and type java -jar installer.jar -console and follow the instructions presented in the window. e) Indicate where you want the file to be unpacked. It doesn't matter where because you will be manually placing the files in the appropriate directories later in these instructions. f) Click the Next button. g) The Installation Progress window appears. Progress bars indicate the status of the installation. When the installation progress is complete, click Quit to exit the Unpack Wizard.
Prepare Environment 9 4. Navigate to the directory where you unpacked the files. Unzip the file and extract it to the pentaho/server directory you created in the directory creation step. 5. Verify that the files have been placed in the following places by comparing the following directory structure with yours. pentaho/server/biserver-ee/tomcat/webapps/pentaho pentaho/server/biserver-ee/tomcat/webapps/pentaho-style pentaho/server/biserver-ee/data pentaho/server/biserver-ee/pentaho-solutions pentaho/server/biserver-ee/pentaho-solutions/system/default-content Note: If your web application server is not in the pentaho/server/biserver-ee directory, the pentaho and pentaho-style subdirectories appear where you've chosen to install your web application server. 6. If you unzipped the plugin files, complete the following steps. a) Navigate to the pentaho/server/biserver-ee/pentaho-solutions/system folder. b) Copy the plugins to the appropriate folders as indicated in the list. biserver-ee/pentaho-solutions/system/analyzer (Pentaho Analyzer) biserver-ee/pentaho-solutions/system/dashboards (Pentaho Dashboard Designer) biserver-ee/pentaho-solutions/system/pentaho-geo (Pentaho Geo) biserver-ee/pentaho-solutions/system/pentaho-interactive-reporting (Pentaho Interactive Reporting) biserver-ee/pentaho-solutions/system/pentaho-mobile-plugin (Pentaho Mobile) Set Environment Variables Set the PENTAHO_JAVA_HOME variable to indicate the path to the Java JRE or JDK that Pentaho should use. If you do not set this variable, then Pentaho will not start correctly. To set environment variables, you should be logged into an account that has administrator-level privileges. For Linux systems, you must be logged into the root user account. Set Windows PENTAHO_JAVA_HOME and PENTAHO_INSTALLED_LICENSE_PATH Variables 1. Open a Command Prompt. 2. At the prompt, set the path of the PENTAHO_JAVA_HOME variable to the path of your Java 7 installation. Here is an example. SET PENTAHO_JAVA_HOME=C:\Program Files\Java\jre7 3. At the prompt, set the path of the PENTAHO_INSTALLED_LICENSE_PATH variable to the.pentaho directory. Here is an example. SET PENTAHO_INSTALLED_LICENSE_PATH=C:\Users\jdoe\.pentaho 4. Log out, then log back in. 5. To verify that the variable has been properly set, open a Command Prompt window, then type this. echo %PENTAHO_JAVA_HOME% %PENTAHO_INSTALLED_LICENSE_PATH% 6. The path that you entered for the Java 7 installation should appear. If it does not, try to set the environment variable again. Set Linux PENTAHO_JAVA_HOME and PENTAHO_INSTALLED_LICENSE_PATH Variables 1. Open a terminal window and log in as root. 2. Open the /etc/environment file with a text editor. Note:The vi and gedit text editors are available on most Linux machines. For example, to open the /etc/ environment file with gedit, type this. gedit /etc/environment 3. Indicate where you installed Java in your /etc/environment file by typing this.
Prepare Environment 10 Note: Substitute /usr/lib/jvm/java-7-sun with the location of the JRE or JDK you installed on your system. export PENTAHO_JAVA_HOME=/usr/lib/jvm/java-7-sun 4. Indicate the location of the.pentaho directory by typing this. export PENTAHO_INSTALLED_LICENSE_PATH=/<your home folder>/.pentaho 5. Save and close the file. 6. Log out, then log back in for the change to take effect. 7. Verify that the PENTAHO_JAVA_HOME variable is properly set by opening a Terminal window and typing this. env grep PENTAHO_JAVA_HOME 8. The path to the variable should appear. If it does not, try setting the environment variable again. 9. Verify that the PENTAHO_INSTALLED_LICENSE_PATH variable is properly set by opening a Terminal window and typing this. env grep PENTAHO_INSTALLED_LICENSE_PATH 10.The path to the variable should appear. If it does not, try setting the environment variable again. Adjust Amount of Memory Mac OS Allocates for PostgreSQL If you plan to install the software on a Mac OS, and you choose to use PostgreSQL, you need to increase the amount of memory that the Mac OS allocates for PostgreSQL. You can skip these instructions if you plan to install the software on Windows or Linux. PostgreSQL is the name of the default database that contains audit, schedule and other data that you create. PostgreSQL starts successfully only if your computer has allocated enough memory. Go to http://www.postgresql.org/ docs/devel/static/kernel-resources.html and follow the instructions there on how to adjust the memory settings on your computer.
Initialize Repository Initialize Repository 11 Before you prepare the BA Repository complete the tasks in Prepare Environment. Pentaho stores content about reports that you create, examples we provide, report scheduling data, and audit data in the BA Repository. The BA Repository resides on the database that you installed during the Prepare Environment step. The BA Repository consists of three repositories: Jackrabbit, Quartz, and Hibernate. Jackrabbit contains the solution respository, examples, security data, and content data from reports that you use Pentaho software to create. Quartz holds data that is related to scheduling reports and jobs. Hibernate holds data that is related to audit logging. This step only consists of one task: Initialize the database. In this task you run DDLs that contain SQL commands that create the Jackrabbit, Quartz, and Hibernate databases, as well as the Operations Mart schema. Initialize PostgreSQL Initialize MySQL Initialize Oracle Initialize PostgreSQL BA Repository Database To initialize PostgreSQL so that it serves as the BA Repository, run SQL scripts to create the Hibernate, Quartz and Jackrabbit (also known as the JCR) databases. Note: Your PostgreSQL configuration must support logins from all users. This is not always the default configuration, so you may have to edit your pg_hba.conf file to support this option. If you do need to make changes to pg_hba.conf, you must restart the PostgreSQL server before proceeding. 1. To make the databases that you create more secure, Pentaho recommends that you change the default passwords in the SQL script files to ones that you specify. If you are evaluating Pentaho, you might want to skip this step. If you do decide to make the databases more secure, use a text editor to change the passwords in these files: pentaho/server/biserver-ee/data/postgresql/create_jcr_postgresql.sql pentaho/server/biserver-ee/data/postgresql/create_quartz_postgresql.sql pentaho/server/biserver-ee/data/postgresql/create_repository_postgresql.sql Here is an example of a password change made in the create_jcr_postgresql.sql file. CREATE USER jcr_user PASSWORD 'mynewpassword' 2. Windows: The commands you use to run the SQL scripts depends on your operating system. For windows, do this. a) Open a SQL Shell window. The SQL Shell window is installed with PostgreSQL. b) When prompted for the server enter the name of the server if you are not using the default (localhost). If you are using the default, do not type anything and press Enter. c) When prompted for the database enter the name of the database if you are not using the default (postgres) If you are using the default, do not type anything and press Enter. d) When prompted for the port enter the name of the port if you are not using the default (5432). If you are using the default port, do not type anything and press Enter. e) When prompted for the username, accept the default, then press Enter. f) When prompted for the password, enter the password that you indicated when you installed PostgreSQL. g) Run the script to create the Jackrabbit database by typing this. \i /pentaho/server/biserver-ee/data/postgresql/create_jcr_postgresql.sql
Initialize Repository 12 Note:If necessary, change the \pentaho\server\biserver-ee to the place where you unpacked your pentaho files. h) Run the script to create the hibernate database by typing this. \i /pentaho/server/biserver-ee/data/postgresql/create_repository_postgresql.sql i) Run the script to create the Quartz database by typing this. \i /pentaho/server/biserver-ee/data/postgresql/create_quartz_postgresql.sql j) To switch to the Hibernate database, type this. \c postgres k) Run the script to create the Operations Mart database by typing this. \i /pentaho/server/biserver-ee/data/postgresql/pentaho_mart_postgresql.sql l) Exit from the window by pressing the CTRL + C keys. 3. Linux: To run the SQL scripts on a Linux system, do this. a) Open a Terminal window. You should be logged in as the pentaho user. b) Sign into PostgreSQL by typing psql -U postgres -h localhost at the prompt. c) Run the script to create the Jackrabbit database by typing this. \i ~/pentaho/server/biserver-ee/data/postgresql/create_jcr_postgresql.sql Note:If necessary, change the ~/pentaho/server/biserver-ee directory path to the place where you unpacked your pentaho files. d) Run the script to create the hibernate database by typing this. \i ~/pentaho/server/biserver-ee/data/postgresql/create_repository_postgresql.sql Note:If necessary, change the ~/pentaho/server/biserver-ee to the place where you unpacked your pentaho files. e) Run the script to create the Quartz database by typing this. Enter your password or the default password at the prompt. The default is password. \i ~/pentaho/server/biserver-ee/data/postgresql/create_quartz_postgresql.sql Note:If necessary, change the ~/pentaho/server/biserver-ee directory path to the place where you unpacked your pentaho files. f) To switch to the Hibernate database, type this. \c postgres g) Run the script to create the Operations Mart database by typing this. \i ~/pentaho/server/biserver-ee/data/postgresql/pentaho_mart_postgresql.sql h) Exit from the window by pressing the CTRL + C keys. 4. To verify that databases and user roles have been created, do this. a) Open the pgadminiii tool. pgadminiii is bundled with both the Windows and Linux versions of PostgreSQL. b) To view the contents of PostgreSQL, click the PostgreSQL folder in the Object Browser, then enter the password when prompted. c) In the Object Browser, click the Databases folder. The Jackrabbit, Postgres, Hibernate and Quartz databases should appear. d) In the Object Browser, click the Login Roles folder. The jcr_user, pentaho_user, hibuser, and postgres user accounts appear. e) If the databases and login roles do not appear, go to the beginning of these instructions and try running the scripts again. f) Select File > Exit to exit from pgadminiii.
Initialize Repository 13 Initialize MySQL BA Repository Database To initialize MySQL so that it serves as the BA Repository, run SQL scripts to create the Hibernate, Quartz and Jackrabbit (also known as the JCR) databases. Note: Use the ASCII character set when you run these scripts. Do not use UTF-8 because there are text string length limitations that might cause the scripts to fail. 1. To make the databases that you create more secure, Pentaho recommends that you change the default passwords in the SQL script files to ones that you specify. If you are evaluating Pentaho, you might want to skip this step. If you do decide to make the databases more secure, use a text editor to change the passwords in these files: pentaho/server/biserver-ee/data/mysql5/create_jcr_mysql.sql pentaho/server/biserver-ee/data/mysql5/create_quartz_mysql.sql pentaho/server/biserver-ee/data/mysql5/create_repository_mysql.sql Here is an example of a password change made in the create_jcr_mysql.sql file. grant all on jackrabbit.* to 'jcr_user'@'localhost' identified by 'mynewpassword'; 2. The process for running the SQL scripts against MySQL are the same for both Windows and Linux machines. a) Run the create_quartz_mysql.sql script in the Terminal or Command Prompt window by typing: mysql - u root -p < create_quartz_mysql.sql. b) Run the create_repository_mysql.sql script in the Terminal or Command Prompt window by typing: mysql -u root -p < create_repository_mysql.sql. c) Run the create_jcr_mysql.sql script in the Terminal or Command Prompt window by typing: mysql -u root -p < create_jcr_mysql.sql. d) Run the pentaho_mart_mysql.sql script in the Terminal or Command Prompt window by typing: mysql -u root -p < pentaho_mart_mysql.sql. 3. To verify that databases and user roles have been created, do this. a) Open the MySQL Workbench tool. MySQL Workbench is freely available at the MySQL development site. b) Make sure that the Jackrabbit (JCR), Hibernate, and Quartz databases are present. c) Make sure that the jcr_user, hibuser, and pentaho_user user accounts are present. d) If the databases and login roles do not appear, go to the beginning of these instructions and try running the scripts again. e) Exit from the MySQL Workbench. Initialize Oracle BA Repository Database To initialize Oracle so it serves as the BA Repository, run SQL scripts to create the Hibernate, Quartz and Jackrabbit (also known as the JCR) databases. 1. To make the databases that you create more secure, Pentaho recommends that you change the default passwords in the SQL script files to ones that you specify. If you are evaluating Pentaho, you might want to skip this step. If you do decide to make the databases more secure, use a text editor to change the passwords in these files. (Also, for each file, edit the datafile path with the path to your Oracle installation.) pentaho/server/biserver-ee/data/oracle10g/create_jcr_ora.sql pentaho/server/biserver-ee/data/oracle10g/create_quartz_ora.sql pentaho/server/biserver-ee/data/oracle10g/create_repository_ora.sql Here is an example of a password change made in the create_jcr_ora.sql file. --conn admin/mynewpassword@pentaho create user jcr_user identified by "mynewpassword" default tablespace pentaho_tablespace quota unlimited on pentaho_tablespace temporary tablespace temp quota 5M on system;
Initialize Repository 14 2. Although there are several different methods for running SQL scripts, these instructions explain how to run SQL*Plus from a Terminal or Command Prompt window. These instructions are the same for both Windows and Linux. If you prefer to run SQL scripts using another method, modify instructions accordingly. a) Open a Terminal or Command Prompt window, start the SQL*Plus and log in. b) Run the script to create the Jackrabbit database by typing START create_jcr_ora. If necessary, append the path to the create_jcr_ora.sql path in the command. c) Run the script to create the repository database by typing START create_repository_ora. If necessary, append the path to the create_repository_ora.sql path in the command. d) Run the script to create the Quartz database and users by typing START create_quartz_ora. If necessary, append the path to the create_quartz_ora.sql path in the command. e) Run the script to create the Operations Mart database and users by typing START pentaho_mart_ora. If necessary, append the path to the pentaho_mart_ora.sql path in the command. 3. To verify that databases and user roles have been created, do this. a) In the Terminal or Command Prompt window that is running SQL*Plus, make sure that the Jackrabbit database has been created by typing DESCRIBE JACKRABBIT;. The column definitions should appear when you press Enter. b) Make sure the Quartz database has been created by typing DESCRIBE QUARTZ;. The column definitions for the Quartz table should appear when you press Enter. c) To see the users that have been created, type SELECT USERNAME FROM DBA_USERS. d) If the databases and login roles do not appear, go to the beginning of these instructions and try running the scripts again. e) Exit from SQL*Plus.
Configure Repository Configure Repository 15 Before you configure the BA Repository, complete the tasks in Initialize Repository. Tasks performed during this step include configuring Audit, Quartz, and Hibernate properties. Tasks are grouped by the BA Repository database you are using. PostgreSQL Configuration Tasks MySQL Configuration Tasks Oracle Configuration Tasks Warning: When modifying configuration files, verify the data in your files will work with your environment. Configure PostgreSQL BA Repository Database These instructions explain how to configure Quartz, Hibernate, Jackrabbit, and Pentaho Security for use with the PostgreSQL database. By default, the files edited in this section are configured for a PostgreSQL database that runs on port 5432. The default password is also in these files. If you have a different port, different password, or if had the system configured using a different database and now you want to change it back to PostgreSQL, complete all of the instructions in these steps. Configure Quartz on PostgreSQL BA Repository Database When you use Pentaho to schedule an event, such as a report to be run every Sunday at 1:00 a.m. EST, event information is stored in the Quartz JobStore. During the installation process, you must indicate where the JobStore is located. To do this, modify the quartz.properties file. 1. Open the pentaho/server/biserver-ee/pentaho-solutions/system/quartz/quartz.properties file in the text editor of your choice. 2. Make sure that in the #_replace_jobstore_properties section of the file, the org.quartz.jobstore.driverdelegateclass is set to org.quartz.impl.jdbcjobstore.postgresqldelegate. 3. In the # Configure Datasources section of the file, set the org.quartz.datasource.myds.jndiurl equal to Quartz, like this. org.quartz.datasource.myds.jndiurl = Quartz 4. Save the file and close the text editor. Configure Hibernate Settings for PostgreSQL BA Repository Database Modify the hibernate settings file to specify where Pentaho will find the BA Repository s hibernate configuration file. The hibernate configuration file specifies driver and connection information, as well as dialects and how to handle connection closes and timeouts. 1. Open pentaho/server/biserver-ee/pentaho-solutions/system/hibernate/hibernatesettings.xml in a text editor. 2. Verify that the location of the PostgreSQL hibernate configuration file appears. Make changes if necessary. <config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file> 3. Save the file if you had to make changes, then close it. Otherwise, just close it. 4. Open pentaho/server/biserver-ee/pentaho-solutions/system/hibernate/ postgresql.hibernate.cfg.xml in a text editor.
Configure Repository 16 5. Make sure that the password and port number match the ones you specified in your configuration. Make changes as necessary, then save and close the file. Modify Jackrabbit BA Repository Information for PostgreSQL Indicate which database houses the BA Repository as well as the port, url, username, and password. All of the information needed to configure the repository for the PostgreSQL, MySQL, and Oracle BA Repository databases appear. By default, the PostgreSQL sections are not commented out, but the MySQL and Oracle sections are. To modify this file so that it works for your BA Repository, you will need to make sure that the sections that refer to your BA Repository database are not commented out, and the sections refer to other BA Repository databases are commented out. When code is commented out, it appears between the and tags. The information in between the tags is commented out, and is therefore not executed by the software. In this example, the code <! <FileSystem class= org.apache.jackrabbit.core.fs.db.oraclefilesystem > is commented out. <FileSystem class= org.apache.jackrabbit.core.fs.db.oraclefilesystem > To make sure that the Jackrabbit repository is set so that PostgreSQL is the default database, do this. 1. Use a text editor to open the pentaho/server/biserver-ee/pentaho-solutions/system/jackrabbit/ repository.xml file. 2. In the Repository part of the code, make sure that the PostgreSQL lines of code are not commented out, but the Oracle and MySQL lines are. The code should look like this. <param name="driver" value="com.mysql.jdbc.driver"/> <param name="schemaobjectprefix" value="fs_repos_"/> <FileSystem class="org.apache.jackrabbit.core.fs.db.oraclefilesystem"> <param name="schemaobjectprefix" value="fs_repos_"/> <param name="tablespace" value="jackrabbit"/> <param name="driver" value="org.postgresql.driver"/> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schema" value="postgresql"/> <param name="schemaobjectprefix" value="fs_repos_"/> Note: If you changed your password when you initialized the database during the Prepare Environment step, or if 3. In the DataStore section of the code, verify that the PostgreSQL lines of code are not commented out, but the Oracle and MySQL lines are. The code should look like this. <DataStore class="org.apache.jackrabbit.core.data.db.dbdatastore"> <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/> <param name="schemaobjectprefix" value="ds_repos_"/> </DataStore> <DataStore class="org.apache.jackrabbit.core.data.db.dbdatastore"> <param name="schemaobjectprefix" value="ds_repos_"/> </DataStore>
<DataStore class="org.apache.jackrabbit.core.data.db.dbdatastore"> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="driver" value="org.postgresql.driver"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="databasetype" value="postgresql"/> <param name="minrecordlength" value="1024"/> <param name="maxconnections" value="3"/> <param name="copywhenreading" value="true"/> <param name="tableprefix" value=""/> <param name="schemaobjectprefix" value="ds_repos_"/> </DataStore> Configure Repository 17 Note: If you changed your password when you initialized the database during the Prepare Environment step, or if 4. In the Workspaces section of the code, make sure that the PostgreSQL lines of code are not commented out, but the Oracle and MySQL lines are. This code should look like this. <param name="driver" value="com.mysql.jdbc.driver"/> <param name="schemaobjectprefix" value="fs_ws_"/> <FileSystem class="org.apache.jackrabbit.core.fs.db.oraclefilesystem"> <param name="schemaobjectprefix" value="fs_ws_"/> <param name="tablespace" value="jcr_user"/> <param name="driver" value="org.postgresql.driver"/> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schema" value="postgresql"/> <param name="schemaobjectprefix" value="fs_ws_"/> Note: If you changed your password when you initialized the database during the Prepare Environment step, or if 5. In the Persistence Manager section of the code, verify that the PostgreSQL lines of code are not commented out, but the Oracle and MySQL lines are. The code should look like this. class="org.apache.jackrabbit.core.persistence.bundle.mysqlpersistencemanager"> <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/> <param name="schemaobjectprefix" value="${wsp.name}_pm_ws_"/> class="org.apache.jackrabbit.core.persistence.bundle.oraclepersistencemanager"> <param name="schemaobjectprefix" value="${wsp.name}_pm_ws_"/> <param name="tablespace" value="jackrabbit"/> class="org.apache.jackrabbit.core.persistence.bundle.postgresqlpersistencemanager"> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="driver" value="org.postgresql.driver"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schema" value="postgresql"/>
Configure Repository 18 <param name="schemaobjectprefix" value="${wsp.name}_pm_ws_"/> Note: If you changed your password when you initialized the database during the Prepare Environment step, or if 6. In the Versioning section of the code, verify that the PostgreSQL lines of code are not commented out, but the MySQL and Oracle lines are. The code should look like this. <param name="driver" value="com.mysql.jdbc.driver"/> <param name="schemaobjectprefix" value="fs_ver_"/> <FileSystem class="org.apache.jackrabbit.core.fs.db.oraclefilesystem"> <param name="schemaobjectprefix" value="fs_ver_"/> <param name="tablespace" value="jackrabbit"/> <param name="driver" value="org.postgresql.driver"/> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schema" value="postgresql"/> <param name="schemaobjectprefix" value="fs_ver_"/> Note: If you changed your password when you initialized the database during the Prepare Environment step, or if 7. In the Persistence Manager section of the code that is near the end of the file, verify that PostgreSQL lines of code are not commented out, but the MySQL and Oracle lines are. The codes should look like this. class="org.apache.jackrabbit.core.persistence.bundle.mysqlpersistencemanager"> <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/> <param name="schemaobjectprefix" value="pm_ver_"/> class="org.apache.jackrabbit.core.persistence.bundle.oraclepersistencemanager"> <param name="schemaobjectprefix" value="pm_ver_"/> <param name="tablespace" value="jackrabbit"/> class="org.apache.jackrabbit.core.persistence.bundle.postgresqlpersistencemanager"> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="driver" value="org.postgresql.driver"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schema" value="postgresql"/> <param name="schemaobjectprefix" value="pm_ver_"/> Note: If you changed your password when you initialized the database during the Prepare Environment step, or if 8. Close and save the file.
Configure Repository 19 Prepare MySQL BA Repository Database These instructions explain how to configure Quartz, Hibernate, Jackrabbit, and Pentaho Security for a MySQL database. By default, the examples in this section are for a MySQL database that runs on port 3306. The default password is also in these examples. If you have a different port, different password complete all of the instructions in these steps. Configure Quartz on MySQL BA Repository Database When you use Pentaho to schedule an event, such as a report to be run every Sunday at 1:00 a.m. EST, event information is stored in the Quartz JobStore. During the installation process, you must indicate where the JobStore is located. To do this, modify the quartz.properties file. 1. Open the pentaho/server/biserver-ee/pentaho-solutions/system/quartz/quartz.properties file in the text editor of your choice. 2. In the #_replace_jobstore_properties section of the file, set the org.quartz.jobstore.driverdelegateclass equal to org.quartz.impl.jdbcjobstore.stdjdbcdelegate. org.quartz.jobstore.driverdelegateclass = org.quartz.impl.jdbcjobstore.stdjdbcdelegate 3. Save the file and close the text editor. Configure Hibernate Settings for MySQL Modify the hibernate settings file to specify where Pentaho should find the BA Repository s hibernate configuration file. The hibernate configuration file specifies driver and connection information, as well as dialects and how to handle connection closes and timeouts. 1. Open pentaho/server/biserver-ee/pentaho-solutions/system/hibernate/hibernatesettings.xml in a text editor. By default, system indicates the location of the PostgreSQL hibernate configuration file. <config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file> 2. Change the default reference to the MySQL configuration file. <config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file> 3. Save and close the file. 4. Open pentaho/server/biserver-ee/pentaho-solutions/system/hibernate/ mysql5.hibernate.cfg.xml in a text editor. 5. Make sure that the password and port number match the ones you specified in your configuration. Make changes as necessary, then save and close the file. Replace Default Version of Audit Log File with MySQL Version The default audit_sql.xml file that is in the pentaho-solutions/system directory is configured for the PostgreSQL database. Since you are using MySQL to host the BA Repository, you need to replace the audit_sql.xml file with one that is configured for MySQL. To do this, copy the pentaho-solutions/system/dialects/mysql5/ audit_sql.xml file to the pentaho-solutions/system directory. Modify Jackrabbit Repository Information for MySQL You must indicate which database is used as the BA Repository as well as the port, url, username, and password. All of the information needed to configure the repository for the PostgreSQL, MySQL, and Oracle BA Repository databases appear. By default, the PostgreSQL sections are not commented out, but the MySQL and Oracle sections are. To modify this file so that it works for your BA Repository, you will need to make sure that the sections that refer to your BA Repository Database are not commented out, and the sections refer to other BA Repository databases are commented out.
Configure Repository 20 When code is commented out, it appears between the and tags. The information in between the tags is commented out, and is therefore not executed by the software. In this example, the code <! <FileSystem class= org.apache.jackrabbit.core.fs.db.oraclefilesystem > is commented out. <FileSystem class= org.apache.jackrabbit.core.fs.db.oraclefilesystem > To modify the Jackrabbit repository so that MySQL is the default database, do this. 1. Use a text editor to open the pentaho/server/biserver-ee/pentaho-solutions/system/jackrabbit/ repository.xml file. 2. In the Repository's FileSystem part of the code, change the code so that the MySQL lines of code are not commented out, but the PostgreSQL and Oracle lines are, like this. <param name="driver" value="com.mysql.jdbc.driver"/> <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schema" value="mysql"/> <param name="schemaobjectprefix" value="fs_repos_"/> <FileSystem class="org.apache.jackrabbit.core.fs.db.oraclefilesystem"> <param name="schemaobjectprefix" value="fs_repos_"/> <param name="tablespace" value="jackrabbit"/> <param name="driver" value="org.postgresql.driver"/> <param name="schemaobjectprefix" value="fs_repos_"/> Note:If you changed your password when you initialized the database during the Prepare Environment step, or if 3. In the DataStore section of the code, change the code so that the MySQL lines of code are not commented out, but the PostgreSQL and Oracle lines are, like this. <DataStore class="org.apache.jackrabbit.core.data.db.dbdatastore"> <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="databasetype" value="mysql"/> <param name="driver" value="com.mysql.jdbc.driver"/> <param name="minrecordlength" value="1024"/> <param name="maxconnections" value="3"/> <param name="copywhenreading" value="true"/> <param name="tableprefix" value=""/> <param name="schemaobjectprefix" value="ds_repos_"/> </DataStore> <DataStore class="org.apache.jackrabbit.core.data.db.dbdatastore"> <param name="schemaobjectprefix" value="ds_repos_"/> </DataStore> <DataStore class="org.apache.jackrabbit.core.data.db.dbdatastore"> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="schemaobjectprefix" value="ds_repos_"/> </DataStore>
Configure Repository 21 4. In the Workspaces section of the code, change the code so that the MySQL lines of code are not commented out, but the PostgreSQL and Oracle lines are, like this. <param name="driver" value="com.mysql.jdbc.driver"/> <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schema" value="mysql"/> <param name="schemaobjectprefix" value="fs_ws_"/> <FileSystem class="org.apache.jackrabbit.core.fs.db.oraclefilesystem"> <param name="schemaobjectprefix" value="fs_ws_"/> <param name="tablespace" value="jcr_user"/> <param name="driver" value="org.postgresql.driver"/> <param name="schemaobjectprefix" value="fs_ws_"/> Note:If you changed your password when you initialized the database during the Prepare Environment step, or if 5. In the Persistence Manager section of the code, change the code so that the MySQL lines of code are not commented out, but the PostgreSQL and Oracle lines are, like this. class="org.apache.jackrabbit.core.persistence.bundle.mysqlpersistencemanager"> <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/> <param name="user" value="jcr_user" /> <param name="password" value="password" /> <param name="schema" value="mysql"/> <param name="schemaobjectprefix" value="${wsp.name}_pm_ws_"/> class="org.apache.jackrabbit.core.persistence.bundle.oraclepersistencemanager"> <param name="schemaobjectprefix" value="${wsp.name}_pm_ws_"/> <param name="tablespace" value="jackrabbit"/> class="org.apache.jackrabbit.core.persistence.bundle.postgresqlpersistencemanager"> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="schemaobjectprefix" value="${wsp.name}_pm_ws_"/> Note:If you changed your password when you initialized the database during the Prepare Environment step, or if 6. In the Versioning section of the code, change the code so that the MySQL lines of code are not commented out, but the PostgreSQL and Oracle lines are, like his. <param name="driver" value="com.mysql.jdbc.driver"/> <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schema" value="mysql"/>
<param name="schemaobjectprefix" value="fs_ver_"/> <FileSystem class="org.apache.jackrabbit.core.fs.db.oraclefilesystem"> <param name="schemaobjectprefix" value="fs_ver_"/> <param name="tablespace" value="jackrabbit"/> <param name="driver" value="org.postgresql.driver"/> <param name="schemaobjectprefix" value="fs_ver_"/> Configure Repository 22 Note:If you changed your password when you initialized the database during the Prepare Environment step, or if 7. In the Persistence Manager section of the code that is near the end of the file, change the code so that the MySQL lines of code are not commented out, but the PostgreSQL and Oracle lines are, like this. class="org.apache.jackrabbit.core.persistence.bundle.mysqlpersistencemanager"> <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/> <param name="user" value="jcr_user" /> <param name="password" value="password" /> <param name="schema" value="mysql"/> <param name="schemaobjectprefix" value="pm_ver_"/> class="org.apache.jackrabbit.core.persistence.bundle.oraclepersistencemanager"> <param name="schemaobjectprefix" value="pm_ver_"/> <param name="tablespace" value="jackrabbit"/> class="org.apache.jackrabbit.core.persistence.bundle.postgresqlpersistencemanager"> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="schemaobjectprefix" value="pm_ver_"/> Note:If you changed your password when you initialized the database during the Prepare Environment step, or if Prepare Oracle BA Repository Database These instructions explain how to configure Quartz, Hibernate, Jackrabbit, and Pentaho Security. By default, the examples in this section are for a Oracle database that runs on port 1521. The default password is also in these examples. If you have a different port, different password complete all of the instructions in these steps. Configure Quartz on Oracle BA Repository Database When you use Pentaho to schedule an event, such as a report to be run every Sunday at 1:00 a.m. EST, event information is stored in the Quartz JobStore. During the installation process, you must indicate where the JobStore is located. To do this, modify the quartz.properties file. 1. Open the pentaho/server/biserver-ee/pentaho-solutions/system/quartz/quartz.properties file in the text editor of your choice.
Configure Repository 23 2. In the #_replace_jobstore_properties section of the file, set the org.quartz.jobstore.driverdelegateclass equal to org.quartz.impl.jdbcjobstore.oracle.oracledelegate. org.quartz.jobstore.driverdelegateclass = org.quartz.impl.jdbcjobstore.oracle.oracledelegate 3. Save the file and close the text editor. Configure Hibernate Settings for Oracle Modify the hibernate settings file to specify where Pentaho will find the BA Repository s hibernate configuration file. The hibernate configuration file specifies driver and connection information, as well as dialects and how to handle connection closes and timeouts. 1. Open pentaho/server/biserver-ee/pentaho-solutions/system/hibernate/hibernatesettings.xml in a text editor. By default, system indicates the location of the PostgreSQL hibernate configuration file. <config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file> 2. Change the default to this to point to the Oracle configuration file. <config-file>system/hibernate/oracle10g.hibernate.cfg.xml</config-file> 3. Save and close the file. 4. Open pentaho/server/biserver-ee/system/hibernate/oracle10g.hibernate.cfg.xml in a text editor. 5. Make sure that the password and port number match the ones you specified in your configuration. Make changes as necessary, then save and close the file. Replace Default Version of Audit Log File with Oracle Version The default audit_sql.xml file that is in the pentaho-solutions/system directory is configured for the PostgreSQL database. Since you are using Oracle to host the BA Repository, you need to replace the audit_sql.xml file with one that is configured for Oracle. To do this, copy the pentaho-solutions/system/dialects/oracle10g/ audit_sql.xml file to the pentaho-solutions/system directory. Modify Jackrabbit Repository Information for Oracle You must indicate which database is used as the BA Repository as well as the port, url, username, and password. All of the information needed to configure the repository for the PostgreSQL, MySQL, and Oracle BA Repository databases appear. By default, the PostgreSQL sections are not commented out, but the MySQL and Oracle sections are. To modify this file so that it works for your BA Repository, you will need to make sure that the sections that refer to your BA Repository Database are not commented out, and the sections refer to other BA Repository databases are commented out. When code is commented out, it appears between the and tags. The information in between the tags is commented out, and is therefore not executed by the software. In this example, the code <! <FileSystem class= org.apache.jackrabbit.core.fs.db.oraclefilesystem > is commented out. <FileSystem class= org.apache.jackrabbit.core.fs.db.oraclefilesystem > To modify the Jackrabbit repository so that Oracle is the default database, do this. 1. Use a text editor to open the pentaho/server/biserver-ee/pentaho-solutions/system/jackrabbit/ repository.xml file. 2. In the Repository part of the code, change the code so that the Oracle lines of code are not commented out, but the PostgreSQL and MySQL lines are, like this. <param name="driver" value="com.mysql.jdbc.driver"/>
<param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/> <param name="schemaobjectprefix" value="fs_repos_"/> <FileSystem class="org.apache.jackrabbit.core.fs.db.oraclefilesystem"> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schemaobjectprefix" value="fs_repos_"/> <param name="tablespace" value="jackrabbit"/> <param name="driver" value="org.postgresql.driver"/> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="schemaobjectprefix" value="fs_repos_"/> Configure Repository 24 Note:If you changed your password when you initialized the database during the Prepare Environment step, or if 3. Change <param name="tablespace" value="jackrabbit"/> to <param name="tablespace" value="pentaho_tablespace"/>. 4. In the DataStore section of the code, change the code so that the Oracle lines of code are not commented out, but the PostgreSQL and MySQL lines are, like this. <DataStore class="org.apache.jackrabbit.core.data.db.dbdatastore"> <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/> <param name="schemaobjectprefix" value="ds_repos_"/> </DataStore> <DataStore class="org.apache.jackrabbit.core.data.db.dbdatastore"> <param name="driver" value="oracle.jdbc.driver.oracledriver"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="databasetype" value="oracle"/> <param name="minrecordlength" value="1024"/> <param name="maxconnections" value="3"/> <param name="copywhenreading" value="true"/> <param name="tableprefix" value=""/> <param name="schemaobjectprefix" value="ds_repos_"/> </DataStore> <DataStore class="org.apache.jackrabbit.core.data.db.dbdatastore"> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="schemaobjectprefix" value="ds_repos_"/> </DataStore> Note:If you changed your password when you initialized the database during the Prepare Environment step, or if 5. In the Workspaces section of the code, change the code so that the Oracle lines of code are not commented out, but the PostgreSQL and MySQL lines are, like this. <param name="driver" value="com.mysql.jdbc.driver"/> <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/> <param name="schemaobjectprefix" value="fs_ws_"/>
<FileSystem class="org.apache.jackrabbit.core.fs.db.oraclefilesystem"> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schemaobjectprefix" value="fs_ws_"/> <param name="tablespace" value="jcr_user"/> <param name="driver" value="org.postgresql.driver"/> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="schemaobjectprefix" value="fs_ws_"/> Configure Repository 25 Note:If you changed your password when you initialized the database during the Prepare Environment step, or if 6. Change <param name="tablespace" value="jcr_user"/> to <param name="tablespace" value="pentaho_tablespace"/ >. 7. In the Persistence Manager section of the code, change the code so that the Oracle lines of code are not commented out, but the PostgreSQL and MySQL lines are, like this. class="org.apache.jackrabbit.core.persistence.bundle.mysqlpersistencemanager"> <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/> <param name="schemaobjectprefix" value="${wsp.name}_pm_ws_"/> class="org.apache.jackrabbit.core.persistence.bundle.oraclepersistencemanager"> <param name="driver" value="oracle.jdbc.driver.oracledriver"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schema" value="oracle"/> <param name="schemaobjectprefix" value="${wsp.name}_pm_ws_"/> <param name="tablespace" value="jackrabbit"/> class="org.apache.jackrabbit.core.persistence.bundle.postgresqlpersistencemanager"> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="schemaobjectprefix" value="${wsp.name}_pm_ws_"/> Note:If you changed your password when you initialized the database during the Prepare Environment step, or if 8. Change <param name="tablespace" value="jackrabbit"/> to <param name="tablespace" value="pentaho_tablespace"/>. 9. In the Versioning section of the code, change the code so that the Oracle lines of code are not commented out, but the PostgreSQL and MySQL lines are, like his. <param name="driver" value="com.mysql.jdbc.driver"/> <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/> <param name="schemaobjectprefix" value="fs_ver_"/>
<FileSystem class="org.apache.jackrabbit.core.fs.db.oraclefilesystem"> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schemaobjectprefix" value="fs_ver_"/> <param name="tablespace" value="jackrabbit"/> <param name="driver" value="org.postgresql.driver"/> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="schemaobjectprefix" value="fs_ver_"/> Configure Repository 26 Note:If you changed your password when you initialized the database during the Prepare Environment step, or if 10.Change <param name="tablespace" value="jackrabbit"/> to <param name="tablespace" value="pentaho_tablespace"/>. 11.In the Persistence Manager section of the code that is near the end of the file, change the code so that the Oracle lines of code are not commented out, but the PostgreSQL and MySQL lines are, like this. class="org.apache.jackrabbit.core.persistence.bundle.mysqlpersistencemanager"> <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/> <param name="schemaobjectprefix" value="pm_ver_"/> class="org.apache.jackrabbit.core.persistence.bundle.oraclepersistencemanager"> <param name="driver" value="oracle.jdbc.driver.oracledriver"/> <param name="user" value="jcr_user"/> <param name="password" value="password"/> <param name="schema" value="oracle"/> <param name="schemaobjectprefix" value="pm_ver_"/> <param name="tablespace" value="jackrabbit"/> class="org.apache.jackrabbit.core.persistence.bundle.postgresqlpersistencemanager"> <param name="url" value="jdbc:postgresql://localhost:5432/jackrabbit"/> <param name="schemaobjectprefix" value="pm_ver_"/> Note:If you changed your password when you initialized the database during the Prepare Environment step, or if 12.Change <param name="tablespace" value="jackrabbit"/> to <param name="tablespace" value="pentaho_tablespace"/>.
Specify Connections Specify Connections 27 After your repository has been configured, you must configure the web application servers to connect to the BA Repository. In this step, JDBC and JNDI connections are made to the Hibernate, Jackrabbit, and Quartz databases. These databases were installed on your BA Repository database during the Initialize Repository and Configure Repository sections of these instructions. By default, the BA Server software is configured to be deployed and run on the Tomcat server. As such, connections have already been specified and only the Tomcat context.xml file must be modified. These tasks are performed in this step. Copy JDBC Drivers Modify JDBC Connection Information Perform Tomcat-Specific Connection Tasks If you plan to run the BA Server on Tomcat, you must modify JDBC Connection information. Download and Install Repository Database JDBC Drivers For the BA Server to connect to the BA Repository database of your choice, add the BA Repository's database JDBC driver library to the appropriate place in the web application server on which the BA Server will be deployed. The default web application server for the archive installation process is Tomcat. 1. Download a JDBC driver JAR from your database vendor or a third-party driver developer. Due to licensing restrictions, Pentaho does not distribute the necessary JDBC driver JARs. This is why you have to download the file yourself and install it. 2. Copy the JDBC driver JAR you just downloaded to the /tomcat/lib/ directory. Download and Install H2 JDBC Drivers Install the H2 JDBC driver. 1. Download the version 1.2.131 of the H2 JDBC JAR from the http://code.google.com/p/h2database/downloads/list. 2. Copy the JDBC driver JAR you just downloaded to the tomcat/lib/ directory. Modify JDBC Connection Information in the Tomcat context.xml File Database connection and network information, such as the username, password, driver class information, IP address or domain name, and port numbers for your BA Repository database are stored in the context.xml file. Modify this file to reflect the database connection and network information to reflect your operating environment. You also modify the values for the validationquery parameters in this file if you have choosen to use an BA Repository database other than PostgreSQL. 1. Consult your database documentation to determine the JDBC class name and connection string for your BA Repository database. 2. Use a text editor of your choice to open the context.xml file that is in the biserver-ee\tomcat\webapps \pentaho\meta-inf directory. 3. Do one of these things.
Specify Connections 28 a) If you are using PostgreSQL as your BA Repository database, comment out the resource references that refer to other databases, such as PostgreSQL and Oracle. In the PostgreSQL sections make sure tha the code looks like the following, but adjust the port numbers and passwords to reflect your environment, if necessary. <Resource validationquery="select 1" url="jdbc:postgresql:// localhost:5432/hibernate" driverclassname="org.postgresql.driver" password="password" username="hibuser" maxwait="10000" maxidle="5" maxactive="20" factory="org.apache.commons.dbcp.basicdatasourcefactory" type="javax.sql.datasource" auth="container" name="jdbc/hibernate"/> <Resource validationquery="select 1" url="jdbc:postgresql:// localhost:5432/hibernate" driverclassname="org.postgresql.driver" password="password" username="hibuser" maxwait="10000" maxidle="5" maxactive="20" factory="org.apache.commons.dbcp.basicdatasourcefactory" type="javax.sql.datasource" auth="container" name="jdbc/audit"/> <Resource validationquery="select 1" url="jdbc:postgresql:// localhost:5432/quartz" driverclassname="org.postgresql.driver" password="password" username="pentaho_user" maxwait="10000" maxidle="5" maxactive="20" factory="org.apache.commons.dbcp.basicdatasourcefactory" type="javax.sql.datasource" auth="container" name="jdbc/quartz"/> <Resource validationquery="select 1" url="jdbc:postgresql:// localhost:5432/hibernate" driverclassname="org.postgresql.driver" password="password" username="hibuser" maxwait="10000" maxidle="5" maxactive="20" factory="org.apache.commons.dbcp.basicdatasourcefactory" type="javax.sql.datasource" auth="container" name="jdbc/ pentaho_operations_mart"/> <Resource validationquery="select 1" url="jdbc:postgresql:// localhost:5432/hibernate" driverclassname="org.postgresql.driver" password="password" username="hibuser" maxwait="10000" maxidle="5" maxactive="20" factory="org.apache.commons.dbcp.basicdatasourcefactory" type="javax.sql.datasource" auth="container" name="jdbc/pdi_operations_mart"/> b) If you are using MySQL as your BA Repository database, comment out the resource references that refer to other databases, such as PostgreSQL and Oracle. Then, add the following code to the file if it does not already exist. Adjust the port numbers and passwords to reflect your environment, if necessary. <Resource validationquery="select 1" url="jdbc:mysql://localhost:3306/ hibernate" driverclassname="com.mysql.jdbc.driver" password="password" username="hibuser" maxwait="10000" maxidle="5" maxactive="20" factory="org.apache.commons.dbcp.basicdatasourcefactory" type="javax.sql.datasource" auth="container" name="jdbc/hibernate"/> <Resource validationquery="select 1" url="jdbc:mysql://localhost:3306/ hibernate" driverclassname="com.mysql.jdbc.driver" password="password" username="hibuser" maxwait="10000" maxidle="5" maxactive="20" factory="org.apache.commons.dbcp.basicdatasourcefactory" type="javax.sql.datasource" auth="container" name="jdbc/audit"/> <Resource validationquery="select 1" url="jdbc:mysql://localhost:3306/ quartz" driverclassname="com.mysql.jdbc.driver" password="password" username="pentaho_user" maxwait="10000" maxidle="5" maxactive="20" factory="org.apache.commons.dbcp.basicdatasourcefactory" type="javax.sql.datasource" auth="container" name="jdbc/quartz"/> <Resource validationquery="select 1" url="jdbc:mysql://localhost:3306/ pentaho_operations_mart" driverclassname="com.mysql.jdbc.driver" password="password" username="hibuser" maxwait="10000" maxidle="5" maxactive="20" factory="org.apache.commons.dbcp.basicdatasourcefactory" type="javax.sql.datasource" auth="container" name="jdbc/ pentaho_operations_mart"/> <Resource validationquery="select 1" url="jdbc:mysql://localhost:3306/ pentaho_operations_mart" driverclassname="com.mysql.jdbc.driver" password="password" username="hibuser" maxwait="10000" maxidle="5" maxactive="20" factory="org.apache.commons.dbcp.basicdatasourcefactory" type="javax.sql.datasource" auth="container" name="jdbc/pdi_operations_mart"/> c) If you are using Oracle as your BA Repository database, comment out the resource references that refer to other databases such as PostgreSQL and MySQL. Then, add the following code to the file if it does not exist. Adjust the port numbers and passwords to reflect your environment, if necessary. <Resource validationquery="select 1 from dual" url="jdbc:oracle:thin:@localhost:1521/xe"
Specify Connections 29 driverclassname="oracle.jdbc.oracledriver" password="password" username="hibuser" maxwait="10000" maxidle="5" maxactive="20" factory="org.apache.commons.dbcp.basicdatasourcefactory" type="javax.sql.datasource" auth="container" name="jdbc/hibernate"/> <Resource validationquery="select 1 from dual" url="jdbc:oracle:thin:@localhost:1521/xe" driverclassname="oracle.jdbc.oracledriver" password="password" username="hibuser" maxwait="10000" maxidle="5" maxactive="20" factory="org.apache.commons.dbcp.basicdatasourcefactory" type="javax.sql.datasource" auth="container" name="jdbc/audit"/> <Resource validationquery="select 1 from dual" url="jdbc:oracle:thin:@localhost:1521/xe" driverclassname="oracle.jdbc.oracledriver" password="password" username="quartz" maxwait="10000" maxidle="5" maxactive="20" factory="org.apache.commons.dbcp.basicdatasourcefactory" type="javax.sql.datasource" auth="container" name="jdbc/quartz"/> <Resource validationquery="select 1 from dual" url="jdbc:oracle:thin:@localhost:1521/xe" driverclassname="oracle.jdbc.oracledriver" password="password" username="hibuser" maxwait="10000" maxidle="5" maxactive="20" factory="org.apache.commons.dbcp.basicdatasourcefactory" type="javax.sql.datasource" auth="container" name="jdbc/ pentaho_operations_mart"/> <Resource validationquery="select 1 from dual" url="jdbc:oracle:thin:@localhost:1521/xe" driverclassname="oracle.jdbc.oracledriver" password="password" username="hibuser" maxwait="10000" maxidle="5" maxactive="20" factory="org.apache.commons.dbcp.basicdatasourcefactory" type="javax.sql.datasource" auth="container" name="jdbc/pdi_operations_mart"/> 4. Modify the username, password, driver class information, IP address (or domain name), and port numbers so they reflect the correct values for your environment. 5. Make sure that the validationquery variable for your database is set to one of these. PostgreSQLvalidationQuery="select 1" MySQL:validationQuery="/* ping */ select 1"/ Oracle:validationQuery="select 1 from dual" 6. Save the context.xmlfile, then close it. 7. To verify that the changes have been made and saved, do this. a) View the context.xml file again. Make sure that the changes that you made to the file in these instructions have been saved. b) Close the file. 8. To make sure that the changes that you made in the context.xml file take effect when Tomcat is started, navigate to the tomcat\conf\catalina directory. If the pentaho.xml file is in the present, delete it. It will be generated again when you start the BA Server, but will contain the changes that you just made in the context.xml file.
Start BA Server Start BA Server 30 After you've complete the tasks in the Prepare Environment, Initialize Repository, and Configure Repository steps, you can start the BA Server. Complete these steps. Install License Keys Modify Tomcat Startup Script Start BA Server Install BA Server License Keys 1. Download the.lic file you want to install. 2. Copy your.lic files to the BA Server. 3. Navigate to the /license-installer/ directory. 4. Run the license installation script. a) For Linux: Run install_license.sh with the install switch and the location and name of your.lic file as a parameter. You can specify multiple.lic files separated by spaces. Be sure to use backslashes to escape any spaces in the path or file name. install_license.sh install /home/dvader/downloads/pentaho\ BI\ Platform\ Enterprise \ Edition.lic b) For Windows: Run install_license.bat with the install switch and the location and name of your license file as a parameter. install_license.bat install "C:\Users\dvader\Downloads\Pentaho BA Platform Enterprise Edition.lic" Modify Tomcat Startup Script The Tomcat startup script must be modified to include the CATALINA_OPTS variable. CATALINA_OPTS indicates the amount of memory to allocate. It also indicates where Pentaho licenses are installed. Specific instructions on how to modify the startup script depend on your operating system. Modify the Tomcat Windows Startup Script 1. Make sure the Tomcat web application server is not running by starting the Windows Task Manager and looking for Tomcat in the Applications tab. If the server is running, stop it. 2. Use a text editor to open the startup.bat file, which is in the bin subdirectory of the Tomcat home directory. 3. Add this line directly before the call "%EXECUTABLE%" start %CMD_LINE_ARGS% line, which is located near the end of the file. set CATALINA_OPTS=-Xms4096m -Xmx6144m -XX:MaxPermSize=256m - Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 - Dpentaho.installed.licenses.file=%PENTAHO_INSTALLED_LICENSE_PATH% 4. Save and close the file. Starting the BA Server Windows Pentaho Archive Installation If you used the Archive Installation, we provide individual control scripts to start and stop the BA server and BA repository. Here is where you can find the individual control scripts.
BA Repository Start BA Server 31 The Archive Installation enables you to install either PostgreSQL, MySQL, or Oracle as the repository. Consult the documentation for the RDBMS you selected for information about starting and stopping. The BA repository must be started before the BA Server. BA Server /pentaho/server/biserver-ee/start-pentaho.bat and stop-pentaho.bat Linux Pentaho Archive Installation If you used the Archive Installation, Pentaho provides individual control scripts to start and stop the Tomcat application server, BA Server, and BA repository. Here is where you can find the individual control scripts. BA Repository The Archive Installation enables you to install either PostgreSQL, MySQL, or Oracle as the BA repository. Consult the documentation for the RDBMS you selected for information about starting and stopping. The BA repository must be started before the BA Server. BA Server /pentaho/server/biserver-ee/start-pentaho.sh and stop-pentaho.sh
Next Steps Next Steps 32 Now that you've installed the BA Server, do two things. Install the BA design tools, so you can generate models and reports. Configure the BA Server and design tools so you can install licenses, set up datasources, and choose a security method, and more. You must install the license to log into the BA Server. Note: If you have installed the BA Server so that you can migrate content from the old system to this one, make sure that your license keys have been installed, then view the Upgrade BA System instructions. Learn More Web-Based Data Analysis, Reports, and Dashboards Tutorial using the User Console