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

在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端浏览文件存储的对应位置即可查看到上一步保存的转换

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


版权声明:本文为SUMU31707原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。