В этой статье описаны действия по установке MS SQL в качестве базы данных хоста для сервера Pentaho в архивной установке Pentaho.
Установить Java и переменные среды
Вам необходимо установить 11 версию Java. Возможно с другими версиями тоже будет работать.
Создайте или исправьте переменные
Должны быть такие.
PENTAHO_JAVA_HOME= C:\Program Files\Java\jdk-11
JAVA_HOME= C:\Program Files\Java\jdk-11
Важно.
Это надо сделать вначале. Если вы после запуска Pentaho сервера поменяете переменные среды. То получите ошибку при следующем запуске Pentaho сервера.
Это связано с тем что при первом запуске сервер создает настройки из папки \pentaho-server\pentaho-solutions\system\karaf. при изменении переменных настройки слетают. Лечится или переустановкой сервера или заменой паки karaf на свежую из архива.

Создание баз данных в MS SQL Server Pentaho
Чтобы инициализировать MS SQL Server, чтобы он служил репозиторием Pentaho, вам потребуется запустить несколько сценариев SQL для создания баз данных на сервере
-
Hibernate
-
Quartz
-
Jackrabbit
Внимание! При запуске этих сценариев используйте набор символов ASCII. Не используйте UTF-8, так как существуют ограничения на длину текстовой строки, которые могут привести к сбою сценариев.
Шаг 1. Настройте параметры конфигурации MS SQL Server.
Настройте следующие параметры MS SQL Server в Microsoft SQL Server Management Studio или другом инструменте по вашему выбору.
-
Выберите SQL Server и режим аутентификации Windows , чтобы использовать смешанную аутентификацию.
-
Включите TCP/IP для MS SQL Server.
-
Проверьте что бы порт был 1433

Шаг 2. Создание баз данных на сервере
Запустите сценарии SQL, указанные в таблице ниже.
Скрипты для создания БД лежат в папке \pentaho-server\data\sqlserver
Запустите эти сценарии из окна утилиты sqlcmd или из Microsoft SQL Server Management Studio.
Создать Quartz -i <путь к файлу DDL>/create_quartz_sqlServer.sql
Создать Hibernate -i <путь к файлу DDL>/create_repository_sqlServer.sql
Создать Jackrabbit -i <путь к файлу DDL>/create_jcr_sqlServer.sql
Шаг 3. Проверьте инициализацию MS SQL Server
После запуска сценариев выполните следующие шаги, чтобы убедиться, что базы данных и роли пользователей созданы:
-
Откройте Студию управления MS SQL Server.
-
В разделе окна «Обозреватель объектов» убедитесь, что присутствуют базы данных Quartz, Jackrabbit, Hibernate .
-
Перейдите к разделу «Безопасные входы» и убедитесь, что были созданы соответствующие пользователи.
-
Выйдите из инструмента MS SQL Server Management Studio.

Загрузите драйвер и примените его к серверу Pentaho
Чтобы подключиться к базе данных, включая базу данных репозитория Pentaho, вам необходимо загрузить драйвер JDBC.
Важно официальные драйвера JDBC от Microsoft подключить не удалось. Pentaho с ними не хочет работает.
Будет использован драйвер JTDS скачать https://sourceforge.net/projects/jtds/files/
Версия jtds-1.3.1.jar
Скачайте драйвер и положите его в tomcat папку lib по адресу pentaho-server\tomcat\lib

Настройка баз данных репозитория MS SQL Server Pentaho
Редактируем файлы для настройки Quartz, Hibernate, Jackrabbit для базы данных MS SQL Server.
Редактируем файлы в папках Quartz, Hibernate, Jackrabbit которые лежат
pentaho-server \pentaho-solutions\system

Шаг 1. Настройка Quartz на MS SQL Server
Информация о событиях, например запланированные отчеты, хранится в Quartz JobStore. В процессе установки вы должны указать, где находится JobStore, изменив файл quartz.properties .
-
Откройте файл pentaho-server/pentaho-solutions/system/quartz/quartz.properties в любом текстовом редакторе.
-
Найдите раздел #_replace_jobstore_properties и установите org.quartz.jobStore.driverDelegateClass, как показано:
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.MSSQLDelegate
-
Найдите раздел # Настройка источников данных и установите для org.quartz.dataSource.myDS.jndiURL значение Quartz , как показано (обычно этот параметр уже установлен):
org.quartz.dataSource.myDS.jndiURL = Quartz
-
Сохраните файл и закройте текстовый редактор.
Шаг 2. Настройка Hibernate для MS SQL Server
Шаг 1
Измените файл настроек Hibernate, чтобы указать, где Pentaho должен найти файл конфигурации Hibernate репозитория Pentaho. В файле конфигурации Hibernate указана информация о драйвере и соединении, а также диалекты и способы обработки закрытия соединений и тайм-аутов.
Файлы в этом разделе расположены в каталоге pentaho-server/pentaho-solutions/system/hibernate .
Выполните следующие шаги, чтобы указать, где Pentaho может найти файл конфигурации Hibernate.
-
Откройте файл hibernate-settings.xml в текстовом редакторе
-
Найдите теги <config-file> и измените
<config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file>
на
<config-file>system/hibernate/sqlserver.hibernate.cfg.xml</config-file>
-
Сохраните и закройте файл.
Шаг 2
Измените файл конфигурации.
Найдите в файле конфигурации строку
<property name=»connection.driver_class»>com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
Замените на
<property name=»connection.driver_class»> net.sourceforge.jtds.jdbc.Driver</property>
Закомментируйте строку
<mapping resource=»hibernate/sqlserver.EE.hbm.xml» />
и
<mapping resource=»hibernate/sqlserver.hbm.xml» />
Шаг 3. Настройка Jackrabbit для MS SQL Server
Отредактируйте следующий код, чтобы изменить репозиторий Jackrabbit по умолчанию на MS SQL Server.
Перейдите к pentaho/server/pentaho-server/pentaho-solutions/system/jackrabbit и откройте файл repository.xml в любом текстовом редакторе.
В этом файле указаны настройки для MySQL, Oracle, MS SQL, PostgreSQL и для базы данных по умолчанию HSQLDB.
при этом настройки для MySQL, Oracle, MS SQL, PostgreSQL закомментированы а для HSQLDB раскомментированые.
Задача строки относящиеся к HSQLDB закомментировать а для mssql раскомментировать.
|
Элемент |
Раздел кода |
|
Репозиторий |
Раскомментировать <FileSystem class=»org.apache.jackrabbit.core.fs.db.MSSqlFileSystem»> Закометировать <FileSystem class= «org.apache.jackrabbit.core.fs.local.LocalFileSystem»> |
|
Хранилище данных |
Раскомментировать <DataStore class=»org.apache.jackrabbit.core.data.db.DbDataStore»> Закометировать <DataStore class=»org.apache.jackrabbit.core.data.FileDataStore»/> |
|
Рабочие пространства |
Раскомментировать <FileSystem class=»org.apache.jackrabbit.core.fs.db.MSSqlFileSystem»> Закометировать <FileSystem class=»org.apache.jackrabbit.core.fs.local.LocalFileSystem»> |
|
PersistenceManager (1-я часть) |
Раскомментировать <PersistenceManager class=»org.apache.jackrabbit.core.persistence.bundle.MSSqlPersistenceManager»> Закометировать <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> |
|
Управление версиями |
Раскомментировать <FileSystem class=»org.apache.jackrabbit.core.fs.db.MSSqlFileSystem»> Закометировать <FileSystem class=»org.apache.jackrabbit.core.fs.local.LocalFileSystem»> |
|
PersistenceManager (2-я часть) |
Раскомментировать <PersistenceManager class=»org.apache.jackrabbit.core.persistence.bundle.MSSqlPersistenceManager»> Закометировать <PersistenceManager class=»org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager»> |
Шаг 4. Меняем подключение
Редактируем файл applicationContext-spring-security-hibernate.properties
По адресу pentaho-server\pentaho-solutions\system\ applicationContext-spring-security-hibernate.properties
Удаляем все из файла и вставляем
jdbc.driver=net.sourceforge.jtds.jdbc.Driver
jdbc.url=jdbc:jtds:sqlserver://localhost/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
Редактируем файлы Tomcat
Измените информацию о соединении JDBC в XML-файле Tomcat
Информация о соединении с базой данных и сетевая информация, такая как имя пользователя, пароль, информация о классе драйвера, IP-адрес или имя домена, а также номера портов для вашей базы данных репозитория Pentaho, хранятся в файле context.xml Измените этот файл, чтобы отразить подключение к базе данных и сетевую информацию для вашей операционной среды.
Внимание! Если у вас есть пользователь или пароль, обязательно измените пароль и номер порта в этих примерах, чтобы они соответствовали тем, которые указаны в вашей среде конфигурации.
-
Перейдите в каталог
pentaho-server/tomcat/webapps/pentaho/META-INFи откройте файл context.xml в любом текстовом редакторе. -
Замените код в файле на следующий.
<Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
factory="org.pentaho.di.core.database.util.DecryptingDataSourceFactory" maxActive="20" minIdle="0" maxIdle="5" initialSize="0" maxWait="10000"
username="hibuser" password="password"driverClassName="net.sourceforge.jtds.jdbc.Driver" url="jdbc:jtds:sqlserver://localhost/hibernate" validationQuery=" select 1" /><Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
factory="org.pentaho.di.core.database.util.DecryptingDataSourceFactory" maxActive="20" minIdle="0" maxIdle="5" initialSize="0" maxWait="10000"
username="pentaho_user" password="password"driverClassName="net.sourceforge.jtds.jdbc.Driver" url="jdbc:jtds:sqlserver://localhost/quartz" validationQuery="select 1"/><Resource name="jdbc/jackrabbit" auth="Container" type="javax.sql.DataSource"
factory="org.pentaho.di.core.database.util.DecryptingDataSourceFactory" maxActive="20" minIdle="0" maxIdle="5" initialSize="0" maxWait="10000"
username="jcr_user" password="password"driverClassName="net.sourceforge.jtds.jdbc.Driver" url="jdbc:jtds:sqlserver://localhost/jackrabbit" validationQuery="select 1"/>

Отключаем запуск БД HSQLDB
1. Перейдите в каталог pentaho-server/tomcat/webapps/pentaho/WEB-INF и откройте файл web.xml в любом текстовом редакторе.
2. Закоментируйте строки
<!— [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] —>

Запуск
Запускаем файлом start-pentaho.bat из корневой папки. Первый запуск долгий так как происходят настройки сервера.
Важно Tomcat запускается на порту 8005 если tomcat не запускается (сразу отключается) возможно порт 8005 занят.
Отредактируйте в файле pentaho-server \tomcat\conf.xml
Строку <Server port=»8005″ shutdown=»SHUTDOWN»>
Замените port=»8005″ на свободный порт например 8006

Открываем
В браузере в адресной строке адрес http://localhost:8080
По умолчанию
логин: admin
пароль: password
ссылка на оригинал статьи https://habr.com/ru/articles/791198/
Добавить комментарий