Запуск и настройка Pentaho server с базой MSSQL
В этой статье описаны действия по установке 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 в текстовом редакторе
Найдите теги
и измените system/hibernate/postgresql.hibernate.cfg.xml на
system/hibernate/sqlserver.hibernate.cfg.xml Сохраните и закройте файл.
Шаг 2
Измените файл конфигурации.
Найдите в файле конфигурации строку
Замените на
Закомментируйте строку
и
Шаг 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 раскомментировать.
Элемент | Раздел кода |
Репозиторий | Раскомментировать
Закометировать
|
Хранилище данных | Раскомментировать
Закометировать |
Рабочие пространства | Раскомментировать
Закометировать
|
PersistenceManager (1-я часть) | Раскомментировать
Закометировать
|
Управление версиями | Раскомментировать
Закометировать
|
PersistenceManager (2-я часть) | Раскомментировать
Закометировать
|
Шаг 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 в любом текстовом редакторе.Замените код в файле на следующий.
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" />
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"/>
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. Закоментируйте строки
И
Запуск
Запускаем файлом start-pentaho.bat из корневой папки. Первый запуск долгий так как происходят настройки сервера.
Важно Tomcat запускается на порту 8005 если tomcat не запускается (сразу отключается) возможно порт 8005 занят.
Отредактируйте в файле pentaho-server \tomcat\conf.xml
Строку
Замените port=»8005» на свободный порт например 8006