Запуск и настройка 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 на свежую из архива.

dd0e38e082b8c6a160f901e491a45241.jpg

Создание баз данных в 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

68f5209cf5618a9a6c07cdadaa345647.jpg

Шаг 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

После запуска сценариев выполните следующие шаги, чтобы убедиться, что базы данных и роли пользователей созданы:

  1. Откройте Студию управления MS SQL Server.

  2. В разделе окна «Обозреватель объектов» убедитесь, что присутствуют базы данных Quartz, Jackrabbit, Hibernate .

  3. Перейдите к разделу «Безопасные  входы» и убедитесь, что были созданы соответствующие пользователи.

  4. Выйдите из инструмента MS SQL Server Management Studio.

8fa8c506a87e6b4f4a3b9c452c7dd906.jpg

Загрузите драйвер и примените его к серверу Pentaho

Чтобы подключиться к базе данных, включая базу данных репозитория Pentaho, вам необходимо загрузить драйвер JDBC.

Важно официальные драйвера JDBC  от Microsoft подключить не удалось. Pentaho с ними не хочет работает.

Будет использован драйвер JTDS скачать https://sourceforge.net/projects/jtds/files/

Версия jtds-1.3.1.jar

Скачайте драйвер и положите его в tomcat папку lib по адресу pentaho-server\tomcat\lib

c43295ac247630ccf718899823d650c0.jpg

Настройка баз данных репозитория MS SQL Server Pentaho

Редактируем файлы для настройки Quartz, Hibernate, Jackrabbit для базы данных MS SQL Server.

Редактируем файлы в папках Quartz, Hibernate, Jackrabbit которые лежат

 pentaho-server \pentaho-solutions\system

4bb5508d6ff401b3aa148fac7e1a6595.jpg

Шаг 1. Настройка Quartz на MS SQL Server

Информация о событиях, например запланированные отчеты, хранится в Quartz JobStore. В процессе установки вы должны указать, где находится JobStore, изменив файл quartz.properties .

  1. Откройте файл  pentaho-server/pentaho-solutions/system/quartz/quartz.properties в любом текстовом редакторе.

  2. Найдите раздел #_replace_jobstore_properties и установите org.quartz.jobStore.driverDelegateClass, как показано:

    org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.MSSQLDelegate

  3. Найдите раздел # Настройка источников данных и установите для org.quartz.dataSource.myDS.jndiURL значение Quartz, как показано (обычно этот параметр уже установлен):

    org.quartz.dataSource.myDS.jndiURL = Quartz

  4. Сохраните файл и закройте текстовый редактор.

Шаг 2. Настройка Hibernate для MS SQL Server

Шаг 1

Измените файл настроек Hibernate, чтобы указать, где Pentaho должен найти файл конфигурации Hibernate репозитория Pentaho. В файле конфигурации Hibernate указана информация о драйвере и соединении, а также диалекты и способы обработки закрытия соединений и тайм-аутов.

Файлы в этом разделе расположены в каталоге  pentaho-server/pentaho-solutions/system/hibernate .

Выполните следующие шаги, чтобы указать, где Pentaho может найти файл конфигурации Hibernate.

  1. Откройте файл hibernate-settings.xml в текстовом редакторе

  2. Найдите теги    и измените

                system/hibernate/postgresql.hibernate.cfg.xml

    на

                system/hibernate/sqlserver.hibernate.cfg.xml

  3. Сохраните и закройте файл.

Шаг 2

Измените файл конфигурации.

Найдите в файле конфигурации строку

com.microsoft.sqlserver.jdbc.SQLServerDriver

Замените на 

net.sourceforge.jtds.jdbc.Driver

Закомментируйте строку



и

Шаг 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 Измените этот файл, чтобы отразить подключение к базе данных и сетевую информацию для вашей операционной среды.

Внимание! Если у вас есть пользователь или пароль, обязательно измените пароль и номер порта в этих примерах, чтобы они соответствовали тем, которые указаны в вашей среде конфигурации.

  1. Перейдите в каталог  pentaho-server/tomcat/webapps/pentaho/META-INF и откройте файл context.xml в любом текстовом редакторе.

  2. Замените код в файле на следующий.

    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"/>

4984f5ec9a8a26dc34fb9626994b8f02.jpg

Отключаем запуск БД HSQLDB

1. Перейдите в каталог  pentaho-server/tomcat/webapps/pentaho/WEB-INF и откройте файл web.xml в любом текстовом редакторе.

2.   Закоментируйте строки

  

 hsqldb-databases

sampledata@…/…/data/hsqldb/sampledata, hibernate@…/…/data/hsqldb/hibernate, quartz@…/…/data/hsqldb/quartz

 

 

И 

 

    org.pentaho.platform.web.http.context.HsqldbStartupListener

 

 

6f0fd37543ad2051ac99d02de454c29f.jpg

Запуск

Запускаем файлом start-pentaho.bat из корневой папки. Первый запуск долгий так как происходят настройки сервера.

Важно Tomcat запускается на порту 8005 если tomcat не запускается (сразу отключается)  возможно порт 8005 занят.

Отредактируйте в файле pentaho-server \tomcat\conf.xml

Строку

Замените port=»8005» на свободный порт например 8006

2b1b1675c885cb0c544b81ef4d3cd117.jpg

© Habrahabr.ru