Customize the Pentaho Server
You can change ports, directories, and other advanced settings.
Change the PDI home directory location
The default location for the Pentaho Data Integration home directory is the .kettle directory in your system user's home directory.
- Windows: C:\Documents and Settings\example_user\.kettle
- Linux: ~/.kettle)
There will be a different .kettle directory, and therefore a different set of configuration files, for each system user that runs PDI.
The contents of this directory are listed in the following table:
File | Purpose |
kettle.properties | Main PDI properties file; contains global variables for low-level PDI settings |
shared.xml | Shared objects file |
db.cache | The database cache for metadata |
repositories.xml | Connection details for PDI database or solution repositories |
.spoonrc | User interface settings, including the last opened transformation/job |
.languageChoice | Default language for the PDI client tool |
Standalone PDI client tool deployments
You can specify a single, universal .kettle directory for all users by declaring a KETTLE_HOME environment variable in your operating system. When declaring the variable, leave out the .kettle portion of it; this is automatically added by PDI.
export KETTLE_HOME=/home/pentaho/examplepath/pdi
Pentaho Server deployments that run PDI content
export CATALINA_OPTS="--Xms2048m
-Xmx2048m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000"
-DKETTLE_HOME=/home/pentaho/examplepath/pdi
Windows service modification
C:\<examplepath>\pdi\.kettle
:tomcat8.exe
//US//pentahobiserver ++JvmOptions -DKETTLE_HOME=C:\examplepath\pdi
Change Ports and URLs
The Pentaho Server has associated default port numbers. You can change these port numbers to adjust the Pentaho Server to your system. Since the port number of the Pentaho Server is a part of its URL, you will also have to change that address.
List of server ports used by PDI
Service | Port Number |
Pentaho Server | 8080 |
H2 (SampleData) | 9092 |
Embedded Pentaho Server (Jetty) | 10000 |
The SampleData database is an exception. It is only for evaluation and demonstration purposes and is not necessary for production systems.
Change Pentaho Server (Tomcat) port numbers
<!-- A "Connector" represents an endpoint by which requests are received and responses are returned. Documentation at : Java HTTP Connector: /docs/config/http.html (blocking & non-blocking) Java AJP Connector: /docs/config/ajp.html APR (HTTP/AJP) Connector: /docs/apr.html Define a non-SSL HTTP/1.1 Connector on port 8080 --> <Connector URIEncoding="UTF-8" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9443" /> <!-- A "Connector" using the shared thread pool--> <!-- <Connector URIEncoding="UTF-8" executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9443" />
Change the Pentaho Server URL
Procedure
Stop the Pentaho Server.
Navigate to the pentaho/server/pentaho-server/pentaho-solutions/system directory and open the server.properties file with any text editor.
Modify the value of the
fully-qualified-server-url
element appropriately.fully-qualified-server-url=http://localhost:8080/pentaho/
Save and close the file.
Start the Pentaho Server.
Results
<context-param>
entry for the
fully-qualified-server-url
from the
/tomcat/webapps/pentaho/WEB-INF/web.xml. If so, restart the
Pentaho Server after removing
it.Change the location of the server log file
If you used the install wizard to install, the pentaho.log is written to the C:/WINDOWS/system32 directory. To change the location of the pentaho.log file, you must edit log4j2.xml in /pentaho-server/tomcat/webapps/pentaho/WEB-INF/classes/.
Modify the location as shown in the sample below, using the appropriate path to your installation:
<RollingFile name="PENTAHOFILE" fileName="../logs/pentaho.log" filePattern="../logs/pentaho.log.%d{yyyy-MM-dd}">
If you are using Linux, the log4j2.xml file is found in /pentaho-server/tomcat/webapps/pentaho/WEB-INF/classes/.
Modify the location as shown in the sample below, using the appropriate path to your installation:
<RollingFile name="PENTAHOFILE" fileName="../logs/pentaho.log" filePattern="../logs/pentaho.log.%d{yyyy-MM-dd}">
Change the Quartz misfire threshold
These steps show how to reset the misfireThresholdto a lower numerical value.
Procedure
Stop the Pentaho Server.
Locate the /pentaho-server/pentaho-solutions/system/quartz directory.
Open the quartz.properties file with any text editor.
Find the property shown below and change the default to a smaller number, such as 5000. The default value represents the number of milliseconds.
org.quartz.jobStore.misfireThreshold = 60000
Save and close the quartz.properties file.
Start the Pentaho Server.
Set default SELECT DISTINCT for Interactive Reports
By default, Interactive Reports queries data with the SQL SELECT DISTINCT
statement to return only distinct (different) data values,
which may require an extensive sorting operation in the database. If you want to
reduce the cost of a system-wide sorting operation, you can set new reports to open
with the Select Distinct option cleared.
Perform the following steps to change the default setting of the Select Distinct option in the Query Setting dialog box of new Interactive Reports:
Procedure
Stop the Pentaho Server.
Locate the server/pentaho-server/pentaho-solutions/system/pentaho-interactive-reporting directory.
Open the settings.xml file with any text editor.
Find the
If you want the Select Distinct option cleared as the default, set the<default-select-distinct>
tag and change it to the desired setting.<default-select-distinct>
tag to false as shown in the following example code:<!-- default select-distinct setting for a new report --> <default-select-distinct>false</default-select-distinct>
Save and close the settings.xml file.
Start the Pentaho Server.
Set system max row limit for Interactive Reports
Procedure
Shut down the Pentaho Server.
Locate the /pentaho-server/pentaho-solutions/system/pentaho-interactive-reporting directory.
Open the settings.xml file with any text editor.
Find the
<query-limit>
tag and change the default number of 100000 within the tags to the maximum number of rows desired.<!-- The maximum number of rows that will be rendered in a report on PIR edit and view mode. A zero value means no limit. --> <query-limit>100000</query-limit>
Save and close the settings.xml file.
Start the Pentaho Server.
Next steps
<query-limit>
tag to your
settings.xml for Interactive Reports.Roll back system max row limit
Procedure
Shut down the Pentaho Server.
Locate the /pentaho-server/pentaho-solutions/system/pentaho-interactive-reporting directory.
Open the settings.xml file with any text editor.
To change the maximum number of rows that will be rendered in Pentaho Interactive Reports in edit or view mode, find the
FROM:<design-query-limit>
tag and change the default number of 500 back to 25.<design-query-limit>500</design-query-limit>
TO:
<design-query-limit>25</design-query-limit>
To turn the
design-query-limit
to be OFF by default, find the<design-query-limit-enabled>
tags and change the value to false.<design-query-limit-enabled>false</design-query-limit-enabled>
Save and close the settings.xml file.
Restart the server.
Increase the CSV file upload limit
Procedure
Go to /pentaho-server/pentaho-solutions/system and open the pentaho.xml file.
Edit the XML as needed (sizes are measured in bytes):
<file-upload-defaults> <relative-path>/system/metadata/csvfiles/</relative-path> <!-- max-file-limit is the maximum file size, in bytes, to allow to be uploaded to the server --> <max-file-limit>10000000</max-file-limit> <!-- max-folder-limit is the maximum combined size of all files in the upload folder, in bytes. --> <max-folder-limit>500000000</max-folder-limit> </file-upload-defaults>
Save your changes to the file.
In the User Console, go to
to ensure that the change is implemented.Restart the User Console.
Change the staging database for CSV files
Procedure
Go to /pentaho-solutions/system/data-access and open the settings.xml file with any text editor.
Edit the settings.xml file as needed.
The default value is shown in the sample below:<!-- settings for Agile Data Access --> <data-access-staging-jndi>hibernate</data-access-staging-jndi>
This value can be a JNDI name or the name of a Pentaho database connection. See Define data connections for more information on database connections.Save and close the file.
Restart the User Console
Change the Karaf startup timeout setting
You can change this default timeout by editing the server.properties file.
Procedure
Stop the Pentaho Server.
Navigate to the /pentaho-server/pentaho-solutions/system directory.
Open the server.properties file with any text editor, and search for the karafWaitForBoot parameter.
Uncomment the line containing the parameter and set it to your desired wait time in milliseconds
# This sets the amount of time the system will wait for karaf to install all of # it's features before timing out. The default value is 2 minutes but can be # overridden here. #karafWaitForBoot = 120000
Save and close the file.
Restart the Pentaho Server
Change the port numbers for the Pentaho Server
Procedure
Stop the Pentaho Server.
Navigate to the /pentaho-server/tomcat/conf/ directory.
Open the server.xml file with any text editor, and search for the value for
Change the port number in the connector port element below from 8080 to your preferred port number.Define a non-SSL HTTP/1.1 Connector
.<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> <Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />
Save and close the server.xml file.
Navigate to the /pentaho-server/pentaho-solutions/system directory and open the server.properties file with any text editor.
Change the
fully-qualified-server-url
entry to match the new port number you specified in server.xml.fully-qualified-server-url=http://localhost:8080/pentaho/
Save and close the file.
Restart the Pentaho Server.
Next steps
<context-param>
entry for the
fully-qualified-server-url
from the
/tomcat/webapps/pentaho/WEB-INF/web.xml. If so, restart the
Pentaho Server after removing
it.Change the web application name or port
The Pentaho Server and web application default
port number is 8080. The default web application name is
pentaho
, which is the name of the WAR file archive, the name of the directory
that your application server creates, and also part of the URL structure for all content in the
User Console.
If you need to change the User Console application name to something else, or if your Web application server is running on a port other than 8080, follow these instructions for either JBoss or Tomcat.
Change the web application name on Tomcat
Follow
these instructions to change the web application context for a
pentaho.war file that you deployed to a Tomcat server.
While the example below uses sample
as the context name, you can
use whatever context name you choose.
Procedure
Stop the server.
Open the pentaho/server/pentaho-server/tomcat/webapps/pentaho/META-INF/context.xml file in a text editor, and change the
For example, to specify a context name ofpentaho
references in thecontext path
tag to your preferred context name.sample
, modifycontext path
as follows.<context path="/sample" docbase="webapps/sample/">
Save and close the file.
Navigate to the pentaho/server/pentaho-server/tomcat/webapps folder, and rename the pentaho folder to your preferred context name. In this example, rename the pentaho folder to sample.
Edit the pentaho/server/pentaho-server/tomcat/webapps/ROOT/index.jsp file to change the
In this example, use the following line of code to specify 'pentaho
reference in theURL
property to your preferred context name.sample
' as the new context name:<meta http-equiv="refresh" content="0;URL=/sample">
Edit the pentaho/server/pentaho-server/pentaho-solutions/system/server.properties file to change
In this example, set the fully-qualified-server-url as follows.pentaho
in the value of thefully-qualified-server-url
setting to your preferred context name.fully-qualified-server-url=http://localhost:8080/sample/
Start the server.
Change the web application name on JBoss
Procedure
After deployment is successful, delete the original pentaho.xml file.
Open the jboss-web.xml file with any text editor.
Add the following text inside of the
jboss-web
section, replacingexample
with your new context name:<context-root>example</context-root>
Save and close that file, then open the web.xml file and modify the
fully-qualified-server-url
entry to match your new context name and port number.<context-param> <param-name>fully-qualified-server-url</param-name> <param-value>http://localhost:5150/example/</param-value> </context-param>
Save and close the file.