本文主要是介绍在Linux中安装Pentaho Server 9.1并使用MySQL作为存储库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在Linux中安装Pentaho Server 9.1并使用MySQL作为存储库
一、本文环境
应用名称 | CentOS Linux | Pentaho Server CE | MySQL | JDK |
---|---|---|---|---|
应用版本 | 7.9 | 9.1 | 5.7 | 1.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
目录下创建software
和module
两个目录
# 用于存放软件安装包
[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端浏览文件存储的对应位置即可查看到上一步保存的转换
Pentaho Server集群搭建:《在Linux中搭建Pentaho Server集群,并使用MySQL作为存储库、Nginx做反向代理与负载均衡》
本教程到此结束,如有错误望小伙伴们在评论区指出,谢谢!
这篇关于在Linux中安装Pentaho Server 9.1并使用MySQL作为存储库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!