【问题标题】:Pentaho Initialization Exception Error _0014 on starting Pentaho 6.1启动 Pentaho 6.1 时 Pentaho 初始化异常错误 _0014
【发布时间】:2016-07-14 13:03:09
【问题描述】:

我正在尝试使用 Java 1.8 在 CentOS 7 上安装 Pentaho BA 我下载了社区版 6.1.0.1-196。我运行 ./start-pentaho.sh 并纠正了一些错误后,一切正常。

然后我决定使用 Oracle 作为存储库并遵循本指南:https://help.pentaho.com/Documentation/5.4/0F0/0K0/040/0C0#title 我更改了一些文件。

当我更改 Hibernate 和 Quartz 时,一切都很好。然后我修改了 Jackrabbit ( repository.xml ) 和 context.xml 并且出现了错误:

ERROR [org.pentaho.platform.util.logging.Logger] misc-org.pentaho.platform.engine.core.system.PentahoSystem: org.pentaho.platform.api.engine.PentahoSystemException: PentahoSystem.ERROR_0014 - Error while trying to execute startup sequence for org.pentaho.platform.engine.services.connection.datasource.dbcp.DynamicallyPooledDatasourceSystemListener

org.pentaho.platform.api.engine.PentahoSystemException: org.pentaho.platform.api.engine.PentahoSystemException: PentahoSystem.ERROR_0014 - 尝试执行 org.pentaho.platform.engine.services.connection 的启动序列时出错.datasource.dbcp.DynamicallyPooledDatasourceSystemListener

现在它甚至还没有开始,页面看起来像图像。

我在存储库中放了什么,或者更好的是我更改的是密码和 url。 我将 url 从 jdbc:oracle:thin:@localhost:1521/XE 更改为 jdbc:oracle:thin:@hostname:port/servernamejdbc: oracle:thin:@hostname:port:servername 但它们都不起作用。

在此之前,我按照指南中的说明创建了存储库和 3 个用户:

--THIS USER IS SPECIFIC TO THE DATABASE WHERE THIS SCRIPT IS TO BE RUN AND
--IT SHOULD BE A USER WITH DBA PRIVS.
--AND ALSO @pentaho should be replaced with the correct instance name
--
--NOTE: run create_repository_ora.sql before running this script, which
--      creates the pentaho_tablespace

-- conn admin/password@pentaho

drop user quartz cascade;

create tablespace pentaho_tablespace
  logging
  datafile 'ptho_ts.dbf' 
  size 32m 
  autoextend on 
  next 32m maxsize 2048m
  extent management local;

create user quartz identified by "password" default tablespace pentaho_tablespace quota unlimited on pentaho_tablespace temporary tablespace temp quota 5M on system;

grant create session, create procedure, create table to quartz;

--CREATE QUARTZ TABLES

CONN quartz/password

CREATE TABLE QRTZ5_JOB_DETAILS 
  (
    JOB_NAME  VARCHAR2(200) NOT NULL,
    JOB_GROUP VARCHAR2(200) NOT NULL,
    DESCRIPTION VARCHAR2(250) NULL,
    JOB_CLASS_NAME   VARCHAR2(250) NOT NULL, 
    IS_DURABLE VARCHAR2(1) NOT NULL,
    IS_VOLATILE VARCHAR2(1) NOT NULL,
    IS_STATEFUL VARCHAR2(1) NOT NULL,
    REQUESTS_RECOVERY VARCHAR2(1) NOT NULL,
    JOB_DATA BLOB NULL,
    PRIMARY KEY (JOB_NAME,JOB_GROUP)
);

CREATE TABLE QRTZ5_JOB_LISTENERS
  (
    JOB_NAME  VARCHAR2(200) NOT NULL, 
    JOB_GROUP VARCHAR2(200) NOT NULL,
    JOB_LISTENER VARCHAR2(200) NOT NULL,
    PRIMARY KEY (JOB_NAME,JOB_GROUP,JOB_LISTENER),
    FOREIGN KEY (JOB_NAME,JOB_GROUP) 
        REFERENCES QRTZ5_JOB_DETAILS(JOB_NAME,JOB_GROUP)
);

CREATE TABLE QRTZ5_TRIGGERS
  (
    TRIGGER_NAME VARCHAR2(200) NOT NULL,
    TRIGGER_GROUP VARCHAR2(200) NOT NULL,
    JOB_NAME  VARCHAR2(200) NOT NULL, 
    JOB_GROUP VARCHAR2(200) NOT NULL,
    IS_VOLATILE VARCHAR2(1) NOT NULL,
    DESCRIPTION VARCHAR2(250) NULL,
    NEXT_FIRE_TIME number(13) NULL,
    PREV_FIRE_TIME number(13) NULL,
    PRIORITY NUMBER(13) NULL,
    TRIGGER_STATE varchar2(16) NOT NULL,
    TRIGGER_TYPE varchar2(8) NOT NULL,
    START_TIME number(13) NOT NULL,
    END_TIME number(13) NULL,
    CALENDAR_NAME VARCHAR2(200) NULL,
    MISFIRE_INSTR number(2) NULL,
    JOB_DATA BLOB NULL,
    PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
    FOREIGN KEY (JOB_NAME,JOB_GROUP) 
        REFERENCES QRTZ5_JOB_DETAILS(JOB_NAME,JOB_GROUP)
);

CREATE TABLE QRTZ5_SIMPLE_TRIGGERS
  (
    TRIGGER_NAME VARCHAR2(200) NOT NULL,
    TRIGGER_GROUP VARCHAR2(200) NOT NULL,
    REPEAT_COUNT number(7) NOT NULL,
    REPEAT_INTERVAL number(12) NOT NULL,
    TIMES_TRIGGERED NUMBER(10) NOT NULL,
    PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
    FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
        REFERENCES QRTZ5_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
);

CREATE TABLE QRTZ5_CRON_TRIGGERS
  (
    TRIGGER_NAME VARCHAR2(200) NOT NULL,
    TRIGGER_GROUP VARCHAR2(200) NOT NULL,
    CRON_EXPRESSION VARCHAR2(120) NOT NULL,
    TIME_ZONE_ID varchar2(80),
    PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
    FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
        REFERENCES QRTZ5_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
);

CREATE TABLE QRTZ5_BLOB_TRIGGERS
  (
    TRIGGER_NAME VARCHAR2(200) NOT NULL,
    TRIGGER_GROUP VARCHAR2(200) NOT NULL,
    BLOB_DATA BLOB NULL,
    PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP),
    FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) 
        REFERENCES QRTZ5_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
);

CREATE TABLE QRTZ5_TRIGGER_LISTENERS
  (
    TRIGGER_NAME  VARCHAR2(200) NOT NULL, 
    TRIGGER_GROUP VARCHAR2(200) NOT NULL,
    TRIGGER_LISTENER VARCHAR2(200) NOT NULL,
    PRIMARY KEY(TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_LISTENER),
    FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP)
        REFERENCES QRTZ5_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP)
);

CREATE TABLE QRTZ5_CALENDARS
  (
    CALENDAR_NAME  VARCHAR2(200) NOT NULL, 
    CALENDAR BLOB NOT NULL,
    PRIMARY KEY (CALENDAR_NAME)
);

CREATE TABLE QRTZ5_PAUSED_TRIGGER_GRPS
  (
    TRIGGER_GROUP  VARCHAR2(200) NOT NULL, 
    PRIMARY KEY (TRIGGER_GROUP)
);

CREATE TABLE QRTZ5_FIRED_TRIGGERS
  (
    ENTRY_ID varchar2(95) NOT NULL,
    TRIGGER_NAME VARCHAR2(200) NOT NULL,
    TRIGGER_GROUP VARCHAR2(200) NOT NULL,
    IS_VOLATILE varchar2(1) NOT NULL,
    INSTANCE_NAME VARCHAR2(200) NOT NULL,
    FIRED_TIME number(13) NOT NULL,
    PRIORITY NUMBER(13) NOT NULL,
    STATE varchar2(16) NOT NULL,
    JOB_NAME VARCHAR2(200) NULL,
    JOB_GROUP VARCHAR2(200) NULL,
    IS_STATEFUL varchar2(1) NULL,
    REQUESTS_RECOVERY varchar2(1) NULL,
    PRIMARY KEY (ENTRY_ID)
);

CREATE TABLE QRTZ5_SCHEDULER_STATE
  (
    INSTANCE_NAME VARCHAR2(200) NOT NULL,
    LAST_CHECKIN_TIME number(13) NOT NULL,
    CHECKIN_INTERVAL number(13) NOT NULL,
    PRIMARY KEY (INSTANCE_NAME)
);

CREATE TABLE QRTZ5_LOCKS
  (
    LOCK_NAME  varchar2(40) NOT NULL,
    PRIMARY KEY (LOCK_NAME)
);


INSERT INTO QRTZ5_LOCKS values('TRIGGER_ACCESS');
INSERT INTO QRTZ5_LOCKS values('JOB_ACCESS');
INSERT INTO QRTZ5_LOCKS values('CALENDAR_ACCESS');
INSERT INTO QRTZ5_LOCKS values('STATE_ACCESS');
INSERT INTO QRTZ5_LOCKS values('MISFIRE_ACCESS');
create index idx_QRTZ5_j_req_recovery on QRTZ5_job_details(REQUESTS_RECOVERY);
create index idx_QRTZ5_t_next_fire_time on QRTZ5_triggers(NEXT_FIRE_TIME);
create index idx_QRTZ5_t_state on QRTZ5_triggers(TRIGGER_STATE);
create index idx_QRTZ5_t_nft_st on QRTZ5_triggers(NEXT_FIRE_TIME,TRIGGER_STATE);
create index idx_QRTZ5_t_volatile on QRTZ5_triggers(IS_VOLATILE);
create index idx_QRTZ5_ft_trig_name on QRTZ5_fired_triggers(TRIGGER_NAME);
create index idx_QRTZ5_ft_trig_group on QRTZ5_fired_triggers(TRIGGER_GROUP);
create index idx_QRTZ5_ft_trig_nm_gp on QRTZ5_fired_triggers(TRIGGER_NAME,TRIGGER_GROUP);
create index idx_QRTZ5_ft_trig_volatile on QRTZ5_fired_triggers(IS_VOLATILE);
create index idx_QRTZ5_ft_trig_inst_name on QRTZ5_fired_triggers(INSTANCE_NAME);
create index idx_QRTZ5_ft_job_name on QRTZ5_fired_triggers(JOB_NAME);
create index idx_QRTZ5_ft_job_group on QRTZ5_fired_triggers(JOB_GROUP);
create index idx_QRTZ5_ft_job_stateful on QRTZ5_fired_triggers(IS_STATEFUL);
create index idx_QRTZ5_ft_job_req_recovery on QRTZ5_fired_triggers(REQUESTS_RECOVERY);

commit;

【问题讨论】:

    标签: oracle pentaho


    【解决方案1】:

    当您将存储库目标从默认目标编辑为新目标时,请确保将用于连接数据库的用户能够执行 DDL 指令,例如创建表或视图等。

    当启动平台在配置更改后第一次尝试从头开始创建存储库时。如果它无法连接/创建存储库 - 它不会像您在屏幕截图中看到的那样启动。如果没有存储库,它将无法工作。

    所有的 oracle 连接字符串语法在here 中描述为 Oracle jdbc 驱动程序 - 将在后台使用。当然,你必须在类路径中有 jdbc 驱动程序 jar。

    【讨论】:

      【解决方案2】:

      Pentaho 7.1 仍然遇到这个问题。

      经过一番挖掘,看起来真正的错误记录在 tomcat/logs/pentaho.log 中(每次启动时都被截断)和 not catalina.out。

      org.apache.jackrabbit.core.config.ConfigurationException: Duplicate configuration element DataStore in Repository.
      

      解决方案是确保在 pentaho-solutions/system/jackrabbit/repository.xml 中只有 1 个 DataStore 类实例、1 个 PersistanceManger 类实例等。

      确保注释掉以下类的所有实例(默认情况下):

      <DataStore class="org.apache.jackrabbit.core.data.FileDataStore"/>
      <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
      <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.H2PersistenceManager">
      

      【讨论】:

        猜你喜欢
        • 2023-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多