在Linux中安装Pentaho Server 9.1并使用MySQL作为存储库

一、本文环境

应用名称CentOS LinuxPentaho Server CEMySQLJDK
应用版本7.99.15.71.8

二、准备工作

1、下载pentaho-server-ce-9.1.0.0-324安装包

1.1、开源仓库渠道

下载链接:https://sourceforge.net/projects/pentaho/files/Pentaho%209.1/server/

在这里插入图片描述

1.2、百度网盘渠道

下载链接:https://pan.baidu.com/s/1UB91ACgdG3bUBSP5keRa3w
提 取 码: y2ql

2、安装JDK(省略)

3、安装MySQL(省略)

三、安装Pentaho Server

1、在/opt目录下创建softwaremodule两个目录

# 用于存放软件安装包
[root@pentaho-server ~]# mkdir /opt/software
# 用于软件具体安装路径
[root@pentaho-server ~]# mkdir /opt/module

2、上传pentaho-server-ce-9.1.0.0-324.zip安装包至/opt/software/目录下

在这里插入图片描述

3、解压安装包

[root@pentaho-server software]# unzip pentaho-server-ce-9.1.0.0-324.zip

在这里插入图片描述

注:若出现-bash: unzip: command not found错误,则通过下面命令先安装unzip和zip程序后再进行解压

[root@pentaho-server software]# yum install -y unzip zip

4、将解压后的pentaho-server目录移动至/opt/module/目录下

[root@pentaho-server software]# mv pentaho-server /opt/module/

在这里插入图片描述

5、切换存储库为MySQL并修改对应的配置文件

5.1、更改MySQL脚本中默认密码以及字符集编码为UTF-8,密码自定义

在这里插入图片描述

[root@pentaho-server mysql]# vim create_jcr_mysql.sql

在这里插入图片描述

[root@pentaho-server mysql]# vim create_quartz_mysql.sql

在这里插入图片描述

[root@pentaho-server mysql]# vim create_repository_mysql.sql

在这里插入图片描述

5.2、登录MySQL运行以上SQL脚本

[root@pentaho-server pentaho-server]# mysql -uroot -p
mysql> source /opt/module/pentaho-server/data/mysql/create_jcr_mysql.sql;
mysql> source /opt/module/pentaho-server/data/mysql/create_quartz_mysql.sql;
mysql> source /opt/module/pentaho-server/data/mysql/create_repository_mysql.sql;

5.3、设置 Quartz

[root@pentaho-server pentaho-server]# vim pentaho-solutions/system/quartz/quartz.properties
5.3.1、找到 #_replace_jobstore_properties 部分并设置 org.quartz.jobStore.driverDelegateClass
# 修改前
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
# 修改后
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate

在这里插入图片描述

5.3.2、找到 # Configure Datasources 部分并将 org.quartz.dataSource.myDS.jndiURL 设置为 Quartz

在这里插入图片描述

5.4、修改applicationContext-spring-security-jdbc.properties配置文件

[root@pentaho-server pentaho-server]# vim pentaho-solutions/system/applicationContext-spring-security-jdbc.properties
datasource.driver.classname=com.mysql.jdbc.Driver
datasource.url=jdbc:mysql://localhost:3306/hibernate
datasource.username=hibuser
datasource.password=!QAZ2wsx
datasource.validation.query=SELECT 1

注意:请确保配置文件中的程序驱动类IP地址端口用户密码与您配置的MySQL环境相对应。

在这里插入图片描述

5.5、修改jdbc.properties配置文件

[root@pentaho-server pentaho-server]# vim pentaho-solutions/system/simple-jndi/jdbc.properties
SampleData/type=javax.sql.DataSource
SampleData/driver=com.mysql.jdbc.Driver
SampleData/url=jdbc:mysql://localhost:3306/hibernate
SampleData/user=hibuser
SampleData/password=!QAZ2wsx
Hibernate/type=javax.sql.DataSource
Hibernate/driver=com.mysql.jdbc.Driver
Hibernate/url=jdbc:mysql://localhost:3306/hibernate
Hibernate/user=hibuser
Hibernate/password=!QAZ2wsx
Quartz/type=javax.sql.DataSource
Quartz/driver=com.mysql.jdbc.Driver
Quartz/url=jdbc:mysql://localhost:3306/quartz
Quartz/user=pentaho_user
Quartz/password=!QAZ2wsx
Shark/type=javax.sql.DataSource
Shark/driver=com.mysql.jdbc.Driver
Shark/url=jdbc:mysql://localhost:3306/hbibernate
Shark/user=hibuser
Shark/password=!QAZ2wsx
SampleDataAdmin/type=javax.sql.DataSource
SampleDataAdmin/driver=com.mysql.jdbc.Driver
SampleDataAdmin/url=jdbc:mysql://localhost:3306/hibernate
SampleDataAdmin/user=hibuser
SampleDataAdmin/password=!QAZ2wsx

在这里插入图片描述

5.6、设置 Hibernate

5.6.1、修改hibernate.properties配置文件
[root@pentaho-server pentaho-server]# vim pentaho-solutions/system/applicationContext-spring-security-hibernate.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/hibernate
jdbc.username=hibuser
jdbc.password=!QAZ2wsx
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

注意:请确保配置文件中的程序驱动类IP地址端口用户密码与您配置的MySQL环境相对应。

在这里插入图片描述

[root@pentaho-server pentaho-server]# vim pentaho-solutions/system/dialects/mysql5/applicationContext-spring-security-hibernate.properties

在这里插入图片描述

5.6.2、修改hibernate-settings.xml配置文件
[root@pentaho-server pentaho-server]# vim pentaho-solutions/system/hibernate/hibernate-settings.xml
<!-- 修改前 -->
<config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file>

<!-- 修改后 -->
<config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file>

在这里插入图片描述

5.6.3、修改mysql5.hibernate.cfg.xml配置文件
[root@pentaho-server pentaho-server]# vim pentaho-solutions/system/hibernate/mysql5.hibernate.cfg.xml
<!--  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">!QAZ2wsx</property>
<property name="connection.pool_size">10</property>
<property name="show_sql">false</property>
<property name="hibernate.jdbc.use_streams_for_binary">true</property>

在这里插入图片描述

5.7、用 MySQL 版本替换审计日志文件的默认版本

由于使用 MySQL 来托管 Pentaho Repository,所以需要将 audit_sql.xml 配置文件替换为为 MySQL 对应的配置文件。

替换方法:

  • 找到 pentaho-solutions/system/dialects/mysql5/audit_sql.xml 文件。

  • 将其复制到 pentaho-solutions/system目录中。

[root@pentaho-server pentaho-server]# cp pentaho-solutions/system/dialects/mysql5/audit_sql.xml pentaho-solutions/system/

在这里插入图片描述

5.8、将Jackrabbit的配置文件repository.xml的仓库信息配置为MySQL

[root@pentaho-server pentaho-server]# vim pentaho-solutions/system/jackrabbit/repository.xml

注意:请确保配置文件中的程序驱动类IP地址端口用户密码与您配置的MySQL环境相对应。

注释如下配置:

<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
    <param name="path" value="${rep.home}/repository"/>
</FileSystem>

==添加==如下配置:

<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
    <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="!QAZ2wsx"/>
    <param name="schema" value="mysql"/>
    <param name="schemaObjectPrefix" value="fs_repos_"/>
</FileSystem>

在这里插入图片描述

注释如下配置:

<DataStore class="org.apache.jackrabbit.core.data.FileDataStore"/>

==添加==如下配置:

<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="!QAZ2wsx"/>
    <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>

在这里插入图片描述

注释如下配置:

<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
    <param name="path" value="${wsp.home}"/>
</FileSystem>

==添加==如下配置:

<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
    <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="!QAZ2wsx"/>
    <param name="schema" value="mysql"/>
    <param name="schemaObjectPrefix" value="fs_ws_"/>
</FileSystem>

在这里插入图片描述

注释如下配置:

<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager">
    <param name="url" value="jdbc:h2:${wsp.home}/db"/>
    <param name="schemaObjectPrefix" value="${wsp.name}_"/>
</PersistenceManager>

==添加==如下配置:

<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
    <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="!QAZ2wsx" />
    <param name="schema" value="mysql"/>
    <param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
</PersistenceManager>

在这里插入图片描述

注释如下配置:

<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
    <param name="path" value="${rep.home}/version" />
</FileSystem>

==添加==如下配置:

<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
    <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="!QAZ2wsx"/>
    <param name="schema" value="mysql"/>
    <param name="schemaObjectPrefix" value="fs_ver_"/>
</FileSystem>

在这里插入图片描述

注释如下配置:

<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager">
    <param name="url" value="jdbc:h2:${rep.home}/version/db"/>
    <param name="schemaObjectPrefix" value="version_"/>
</PersistenceManager>

==添加==如下配置:

<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
    <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="!QAZ2wsx" />
    <param name="schema" value="mysql"/>
    <param name="schemaObjectPrefix" value="pm_ver_"/>
</PersistenceManager>

在这里插入图片描述

注释如下配置:

<Journal class="org.apache.jackrabbit.core.journal.MemoryJournal"/>

==添加==如下配置:

<Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
    <param name="revision" value="${rep.home}/revision.log"/>
    <param name="url" value="jdbc:mysql://localhost:3306/jackrabbit"/>
    <param name="driver" value="com.mysql.jdbc.Driver"/>
    <param name="user" value="jcr_user"/>
    <param name="password" value="!QAZ2wsx"/>
    <param name="schema" value="mysql"/>
    <param name="databaseType" value="mysql"/>
    <param name="janitorEnabled" value="true"/>
    <param name="janitorSleep" value="86400"/>
    <param name="janitorFirstRunHourOfDay" value="3"/>
</Journal>

在这里插入图片描述

5.9、下载MySQL的JDBC连接驱动,将其上传到/opt/software目录中,然后将其复制到pentaho-server/tomcat/lib目录中

在这里插入图片描述

# 删除旧版驱动
[root@pentaho-server software]# rm -rf /opt/module/pentaho-server/tomcat/lib/mysql-connector-java-5.1.17.jar

# 复制新版驱动
[root@pentaho-server software]# cp mysql-connector-java-5.1.34.jar /opt/module/pentaho-server/tomcat/lib/

5.10、修改Tomcat配置文件中的JDBC连接信息

[root@pentaho-server pentaho-server]# vim tomcat/webapps/pentaho/META-INF/context.xml

注意:请确保配置文件中的程序驱动类IP地址端口用户密码与您配置的MySQL环境相对应。

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
    <Resource validationQuery="select 1" url="jdbc:mysql://localhost:3306/hibernate" driverClassName="com.mysql.jdbc.Driver" password="!QAZ2wsx" username="hibuser" initialSize="0" maxActive="20" maxIdle="10" maxWait="10000" factory="org.apache.commons.dbcp.BasicDataSourceFactory" type="javax.sql.DataSource" auth="Container" name="jdbc/Hibernate"/>

    <Resource validationQuery="select 1" url="jdbc:mysql://localhost:3306/quartz" driverClassName="com.mysql.jdbc.Driver" password="!QAZ2wsx" username="pentaho_user" testOnBorrow="true" initialSize="0" maxActive="20" maxIdle="10" maxWait="10000" factory="org.apache.commons.dbcp.BasicDataSourceFactory" type="javax.sql.DataSource" auth="Container" name="jdbc/Quartz"/>

    <Resource name="jdbc/jackrabbit" auth="Container" type="javax.sql.DataSource" factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" minIdle="0" maxIdle="5" initialSize="0" maxWait="10000" username="jcr_user" password="!QAZ2wsx" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/jackrabbit" validationQuery="select 1"/>
</Context>

在这里插入图片描述

6、将tomcat/webapps/pentaho/WEB-INF/web.xml配置文件的如下配置项 注释掉

[root@pentaho-server pentaho-server]# vim tomcat/webapps/pentaho/WEB-INF/web.xml
<!-- [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] -->

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

在这里插入图片描述

在这里插入图片描述

7、将systemListeners.xml配置文件的如下配置项 注释掉

[root@pentaho-server pentaho-server]# vim pentaho-solutions/system/systemListeners.xml
<!--
<bean id="pooledDataSourceSystemListener" class="org.pentaho.platform.engine.services.connection.datasource.dbcp.PooledDatasourceSystemListener" />
-->

<!--
<bean id="nonPooledDataSourceSystemListener" class="org.pentaho.platform.engine.services.connection.datasource.dbcp.NonPooledDatasourceSystemListener"/>
-->

<!--
<bean id="dynamicallyPooledDataSourceSystemListener" class="org.pentaho.platform.engine.services.connection.datasource.dbcp.DynamicallyPooledDatasourceSystemListener" />
-->

<!--
<bean id="quartzSystemListener" class="org.pentaho.platform.scheduler2.quartz.EmbeddedQuartzSystemListener" />
-->

在这里插入图片描述

8、修改start-pentaho.sh启动脚本(有显卡的系统可忽略此步骤)

注意:没有显卡的系统,在第一次启动Pentaho Server之前,需要将 -Djava.awt.headless=true 参数添加到 CATALINA_OPTS 参数列表中,整个CATALINA_OPTS参数列表如下

[root@pentaho-server pentaho-server]# vim start-pentaho.sh

CATALINA_OPTS的值替换为

CATALINA_OPTS="-Djava.awt.headless=true -Xms4096m -Xmx6144m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dfile.encoding=utf8 -DDI_HOME=\"$DI_HOME\""

在这里插入图片描述

四、启动Pentaho Server

1、到pentaho-server的安装目录下执行下面的启动命令

[root@pentaho-server pentaho-server]# ./start-pentaho.sh

在这里插入图片描述

2、查看日志是否有报错信息

[root@pentaho-server ~]# tail -fn 500 /opt/module/pentaho-server/tomcat/logs/pentaho.log

在这里插入图片描述

3、浏览器访问 节点ip:8080 即可访问到登录页面

在这里插入图片描述

4、登录账户,默认用户名 :admin,默认密码:password

在这里插入图片描述

5、切换语言为简体中文时会发现日志报如下错误

在这里插入图片描述

报错信息:

在这里插入图片描述

解决方法:

1、查找messages_zh.properties文件所在的路径

[root@pentaho-server pentaho-server]# find / -name messages_zh.properties

在这里插入图片描述

2、查找确实此文件的路径

在这里插入图片描述

3、将查找到的messages_zh.properties文件复制到/opt/module/pentaho-server/pentaho-solutions/system/pentaho-cdf-dd/lang/目录中

在这里插入图片描述

五、客户端连接测试

1、打开客户端工具,点击右上角的Connect

在这里插入图片描述

2、点击Get Started

在这里插入图片描述

3、填写相应连接信息后点击Finish

若连接信息正确无误,既可以看到连接已创建且可用的提示信息,然后可以直接点击Connect Now或者点击Finish之后再连接

在这里插入图片描述
在这里插入图片描述

4、输入用户名和密码后点击Connect

在这里插入图片描述

5、可以测试创建一个 作业或者转换 并将其保存到合适的位置

在这里插入图片描述

6、访问WEB端浏览文件存储的对应位置即可查看到上一步保存的转换

在这里插入图片描述
本教程到此结束,如有错误望小伙伴们在评论区指出,谢谢!

Q.E.D.


Keep going, believe in yourself, and never give up.