2016-07-14 2 views
0

Java 1.8 CentOS 7에 Pentaho BA를 설치하려고합니다. Community Edition 6.1.0.1-196을 다운로드했습니다. ./start-pentaho.sh를 실행하고 일부 버그를 수정 한 후에 모든 것이 작동했습니다.Pentaho 시작시 Pentaho 초기화 예외 오류 _0014가 발생했습니다.

그런 다음 Oracle을 저장소로 사용하고이 안내서를 따르기로했습니다. https://help.pentaho.com/Documentation/5.4/0F0/0K0/040/0C0#title 일부 파일을 변경합니다.

최대 절전 모드와 석영 모드를 변경하면 모든 것이 잘되었습니다. 그럼 난 잭 래빗 (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에 대한 시동 순서를 실행하는 동안 오류가 발생했습니다.

이제 시작조차되지 않으며 페이지가 이미지처럼 보입니다.

enter image description here

은 무슨 짓을 내가 저장소에 넣어, 또는 더 나은 내가 무엇을 변경하는 것은 암호 및 URL입니다. 오라클 : 나는 JDBC에서 URL을 변경 얇은 : @localhost : 1521/XE JDBC 에 : 오라클 : 얇은 : @hostname : 포트/서버 이름 또는 JDBC : 신탁 : 얇은 : @hostname : 포트 : servernam를 그러나 그들 중 누구도 일하고 ​​있지 않습니다. 가이드의 설명에 따라

Context.xml

그 전에, 나는 저장소와 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/[email protected] 

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; 

답변

0

확실 사용자를 만드는 새로운 기본적 하나의 저장소에 대상을 편집하는 데이터베이스에 연결하여 테이블 또는 뷰 작성과 같은 DDL 명령을 수행 할 수 있습니다.

플랫폼을 시작하면 구성이 변경된 후 처음부터 저장소를 처음부터 만들려고합니다. 저장소에 연결/생성 할 수없는 경우 스크린 샷에서 볼 수있는 것처럼 시작되지 않습니다. 저장소가 없으면 작동하지 않습니다.

오라클 jdbc 드라이버의 경우 모든 오라클 연결 문자열 구문에 대해 here이 설명되어 있습니다. 물론 클래스 경로에 jdbc 드라이버 jar가 있어야합니다.

0

여전히 Pentaho 7.1에서이 문제에 부딪 혔습니다.

일부 파기 후에 실제 오류가 tomcat/logs/pentaho.log (모든 시작시 잘림)에 기록되고 이 아닌 catalina.out에 기록됩니다.

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

솔루션 만 데이터 저장소 클래스의 한 인스턴스 PersistanceManger 클래스 등의 펜타 - 솔루션/시스템/잭 래빗/repository.xml의 한 인스턴스가 있는지 확인하는 것입니다.

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

은 (기본적으로있다) 다음과 같은 클래스의 모든 인스턴스를 주석 처리해야합니다