J-Jobs

Guides -J-Jobs Lite v2.3 설치 가이드

J-Jobs 설치 가이드

최종 작성일: 2019년 5월 8일

기준 버전 : J-Jobs v2.3

Copyright ⓒ LG CNS LG CNS의 사전 승인 없이 본 내용의 전부 또는 일부에 대한 복사, 배포 사용을 금합니다.

시스템 요구사항

Overview

J-Jobs의 구성요소로는 크게 3가지가 있다. 여러가지 이유로 3Tier 구조로 분산되어 각자의 역할을 수행하며 모든 구성요소가 있어야 정상적으로 J-Jobs가 작동된다. 구성요소별 자세한 역할은 운영자 가이드 를 참조한다.

J-Jobs Lite는 J-Job 매니저 모듈과 J-Job 서버 모듈이 한개의 서버에 설치되도록 구성되어 있어 앞으로 J-Job 매니저와 J-Job 서버를 포함하여 이 후 J-Job 서버라 명명한다.

하드웨어

J-Jobs Lite 버전은 J-Job 서버가 설치될 관리서버와 , 배치 프로그램등 어플리케이션이 실행될 J-Job 에이전트 서버로 구성된다.

관리서버는 J-Job의 메타 데이터를 관리할 DBMS 와 J-Jobs 매니저 및 서버 어플리케이션 동작을 위해 WAS가 설치가되고 이러한 어플리케이션이 동작하기 위해서는 다음과 같은 사양을 권장한다.

  • OS : linux 64 bit, Windows 64 bit

  • CPU : 4 core 이상

  • MEMORY : 4 GB 이상

  • DISK : 10 GB 이상

J-Job 에이전트가 설치될 서버는 실제 배치 등의 어플리케이션이 실행되는 영역이라 엄밀히 이야기하면 어플리케이션의 부하량에 따라 하드웨어 사양이 결정된다. 해당 가이드에서는 J-Job 에이전트 실행만을 고려한 최소 사양을 기술한다.

  • OS : linux(32,64), Windows(32,64), AIX, HP-UX

  • CPU : 1 core 이상

  • MEMORY : 512 MB 이상

  • DISK : 500 MB 이상

소프트웨어

J-Jobs Lite 버전 설치파일은 linux용과 Windows용이 제공된다.

  • Windows용 jjobs_lite_windows_installer_x64_2.3.x.exe 약 280M bytes

  • linux 용 jjobs_lite_linux_installer_x64_2.3.x.tar.gz 약 290M bytes

J-Jobs 실행시 필요한 설치파일에 포함된 전용 소프트웨어는 다음과 같다.

  • META DBMS - PostgreSQL 10.3

  • JVM - Open JDK 1.8

  • WAS - Tomcat 8

호환성

  • OS 호환성

    J-Jobs는 Java로 작성되어 Java가 지원되는 플랫폼인 경우 제한 없이 사용이 가능하다.

    현재 호환성 테스트된 OS 는 다음과 같다.

    • linux계열 (Redhad계열, Ubuntu 계열, Debian 계열)에서 테스트 완료 되었음

    • Windows7이상에서 테스트 완료 되었음 (Poswershell 2.0 이상)

    • unix계열 (AIX, HP-UX)에서 테스트 완료 되었음

  • JVM 호환성

    • Java 1.7, Java 1.8에서 테스트 완료 되었음

    • Oracle JDK, Open JDK 호환성 테스트 완료 되었음

    • unix(AIX, HP-UX)의 경우 벤더에서 제공하는 Java를 사용하여 테스트 완료 되었음

지원 브라우저

J-Job 서버의 웹화면은 AngularJs와 HTML5 기술로 구성되어 있다. 따라서 해당 기술로 구성된 웹페이지를 표시할 수 있는 브라우저라면 사용이 가능하다.

Chorme latest, Firefox latest, IE11+, Edge latest, Opera latest, Safari latest

제약사항

J-Jobs Lite는 J-Jobs 전용 메타 DBMS로 PostgreSQL을 사용하고 있고 설치 프로그램으로 J-Job 서버 설치시 메타 DBMS을 같이 설치하게 되어있다.

제공되는 설치파일은 Windows 64bit, linux 64bit 버전만 제공하고 있기때문에 J-Job 서버는 Windows 64bit, linux 64bit 환경에서만 설치가 가능하다. 단, 별도로 PostgresSQL DBMS가 설치되어 있고 해당 DBMS를 원격으로 접속이 가능하다면 위에서 언급한 OS에서도 설치가 가능하다.

자세한 설치 방법은 아래 설치가이드를 참조한다.

J-Jobs 설치

설치 준비

  • J-Job 서버가 설치될 서버가 위에 언급된 관리서버 하드웨어 사양으로 준비되어 있어야 함

  • soltech 사이트(https://soltech.lgcns.com/jjobs/downloads)에서 J-Jobs Lite 버전을 설치될 OS환경에 맞는 설치파일을 다운로드 받는다.

  • J-Job 에이전트가 설치될 즉 배치업무가 수행될 서버가 unix계열인 경우 linux용을 받아서 사용하면 된다.

  • 아래 라이선스 발급 항목에 기술된 내용으로 발급된 license 파일이 준비되어 있어야 한다.

  • 설치 환경이 Windows인 경우 J-Jobs 메타 DBMS 설치를 위해서 먼저 Visual C++ 패키지 설치가 선행되어야 한다. 아래 troubleshooting 참조

  • 설치 환경이 linux인 경우 unzip 유틸리티가 사전에 설치되어 있어야 한다.

  • J-Jobs 서버 설치 환경이 linux인 경우 J-Jobs 메타 DBMS 설치를 위해서 반드시 일반 계정(PostgreSQL 보안상 root로 설치가 안됨)으로 설치가 되야 한다. 따라서 J-Jobs 서버가 설치될 일반 계정을 준비한다.

설치

설치는 Windows 버전과 linux버전으로 나눠서 설명한다.

Windows 버전 설치

다운로드 받은 jjobs_lite_windows_installer_x64_v2.3*.zip (soltech 보안 정책상 zip파일만 업로드 가능)압축을 풀고 jjobs_lite_windows_installer_x64_v2.3*.exe을 실행한다.

Step 1 - 설치옵션 선택

  • Full : 한 서버에 J-Job 서버 및 에이전트를 모두 설치한다.

  • Only Server : J-Job 서버만 설치한다. 이런 경우 Step 6의 J-Job 에이전트 설정은 넘어가게 된다.

  • Only Agent : J-Job 에이전트만 설치한다. 이런 경우 Step 3 ~ 5 까지의 설정은 넘어가게 된다.

Step 2 - Java 설정

  • 1 : 설치파일에 포함된 J-Jobs 전용 Java를 설치한다. (제공되는 Java는 Open JDK 1.8)

  • 2 : 이미 Java가 설치된 경우에 기 설치된 JAVA HOME경로를 선택한다. 단, Java 버전은 1.7 이상이어야 한다.

Step 3 - J-Jobs 메타 DBMS 설정

항목설명기본값
DBMS IPJ-Jobs Meta DBMS를 포함해서 설치할 경우 서버의 IP를 입력, J-Jobs Meta DBMS를 포함해서 설치하지 않을 경우(J-Job 서버 이중화등) 이미 설치된 J-Jobs Meta DBMS의 IP나 Domain Name을 입력
DBMS PortJ-Jobs Meta DBMS가 설치 또는 접속시 필요한 Port번호7432
User IDDB 접속계정jjobs
PasswordDB 접속계정의 비밀번호jjobs1234
  • 1 : J-Jobs 설치파일에는 J-Jobs 전용 메타 DBMS 설치파일이 포함되어 있고, 해당 체크박스에 체크하지 않으면 J-Job 서버가 설치되는 서버에 DBMS도 자동으로 설치된다. 별도로 J-Jobs 메타 DBMS를 관리하고자 하는 경우 PostgreSQL을 별도로 설치하였거나 추가로 J-Job 서버 이중화( J-Job 서버 설치시 DBMS가 이미 설치가 된 경우)를 위해 J-Job 서버만 추가로 설치하는 경우 해당 체크박스에 체크하면 된다.

Step 4 - J-Job 서버 설정

항목설명기본값
Root PasswordJ-Jobs 루트 권한으로 로그인시 인증을 위한 비밀번호 입력jjobs1234
Root Password ConfirmJ-Jobs 루트 권한으로 로그인시 인증을 위한 비밀번호 입력 확인jjobs1234
Web Service Port웹 서비스 및 API 서버스를 제공하기 위한 Port 설정7065
Server Group서버가 소속될 그룹의 ID (운영 가이드에 서버등록 참조)1
Server ID서버를 식별하기 위한 ID (운영 가이드에 서버등록 참조)1
  • 1 : 해당 체크박스에 체크시 J-Job 서버를 Windows 서비스에 등록하여 사용할 수 있다.

Step 5 - J-Job 에이전트 설정

항목설명기본값
Agent NameJ-Job 에이전트를 식별하기 위한 이름hostname
Server GroupJ-Job 에이전트가 접속하여 작업을 할당 받을 서버그룹 ID 입력1
Agent GroupJ-Job 에이전트가 접속하여 작업을 할당 받을 에이전트그룹 ID 입력0
Stratup URLJ-Job 에이전트가 실행시 초기에 필요한 기초 정보를 받아오기 위한 URL로 보통 J-Job 서버의 접속 URL을 입력하면 됨http://0.0.0.0:7065/jjob-server
  • 1 : 해당 체크박스에 체크시 J-Job 에이전트를 Windows 서비스에 등록하여 사용할 수 있다.

Step 5 - 라이선스 동의

  • EULA를 확인 후 동의하고 다음으로 진행한다.

Step 6 - 설치경로 지정

  • J-Jobs 가 설치될 경로를 선택한다.

linux 버전 설치

다운로드 받은 jjobs_lite_linux_installer_x64_v2.3*.tar.zip (soltech 보안 정책상 zip파일만 업로드 가능) 압축을 풀고 jjobs_lite_linux_installer_x64_v2.3*.tar.gz를 적절한 위치에 놓는다.

tar 유틸리티를 이용하여 압축을 푼다

tar xvzf jjobs_lite_linux_installer_x64_v2.3*.tar.gz

압축을 풀면 5개의 파일이 존재한다.

  • License.txt : EULA가 명시된 파일

  • jjob_agent_installer.sh : J-Job 에이전트를 설치하기 위한 스크립트 파일

  • jjob_lite_installer.sh : J-Job 서버를 설치하기 위한 스크립트 파일

  • jjob_lite_installer_linux_64_2.3.* : J-Job 설치파일

  • jjob_DB_installer_linux_x64.sh : J-Job 전용 Meta DBMS 설치파일

Step 1 - J-Job 서버 설치

sh ./jjob_lite_installer.sh --help
Arguments:        
           --base_path : J-Job server base path
           --dbms_ip : J-Jobs Meta DBMS ip address
Options:        
           --dbms_port : J-Jobs Meta DBMS port number
           --skip_inst_dbms : If you set , the installer dose not install J-Jobs Meta DBMS.(This option usually is used when you need to set another server for HA)
           --java_path : If you want to use your JVM, you can set the path. If not, the default JVM path will be set.
           --root_pswd : Manager root password. If not set, default password(you can get it from J-Jobs manual.) will be set.
           --web_port  : Web service port. If not set, default port(7065) will be set.
           --svr_group : J-Jobs Server Group
           --svr_id : J-Jobs Server ID
           --dbms_user : J-Jobs Meta DBMS user
           --dbms_pswd : J-Jobs Meta
  • [ ] 필수옵션
  • --base_path : J-Job 가 설치될 기본 경로

  • --dbms_ip : J-Jobs Meta DBMS를 포함해서 설치할 경우 서버의 IP를 입력, J-Jobs Meta DBMS를 포함해서 설치하지 않을 경우(J-Job 서버 이중화등) 이미 설치된 J-Jobs Meta DBMS의 IP나 Domain Name을 입력

  • [ ] 선택옵션
  • --dbms_port : J-Jobs Meta DBMS가 설치 또는 접속시 필요한 Port번호 (기본값은 7432)

  • --skip_inst_dbms : J-Jobs 설치파일에는 J-Jobs 전용 Meta DBMS 설치파일이 포함되어 있고, 해당 옵션을 사용하지 않으면 J-Job 서버가 설치되는 서버에 DBMS도 자동으로 설치된다. 별도로 J-Jobs Meta DBMS를 관리하고자 하는 경우 PostgreSQL을 별도로 설치하였거나 추가로 J-Job 서버 이중화( J-Job 서버 설치시 DBMS가 이미 설치가 된 경우)를 위해 J-Job 서버만 추가로 설치하는 경우 해당 옵션을 사용하면 된다.

  • --java_path : 기 사용중인 Java 1.7 또는 Java 1.8 이상이 있다면 해당 Java home 경로를 기술한다.

  • --root_pswd : J-Jobs 루트권한 사용자가 사용할 비밀번호를 기술한다.

  • --web_port : 웹 서비스 및 API 서버스를 제공하기 위한 Port 설정

  • --svr_group : 서버가 소속될 그룹의 ID (운영 가이드에 서버등록 참조)

  • --svr_id : 서버를 식별하기 위한 ID (운영 가이드에 서버등록 참조)

  • --dbms_user : DB접속계정 ( skip_inst_dbms 옵션을 사용하지 않을 경우 J-Jobs Meta DBMS 설치시 계정이 생성된다.)

  • --dbms_pswd : DB접속계정 비밀번호 ( skip_inst_dbms 옵션을 사용하지 않을 경우 J-Jobs Meta DBMS 설치시 계정이 사용할 비밀번호가 생성된다.)

  • [ ] 기본 설치 명령 예제
sh ./jjob_lite_installer.sh --base_path /app/jjobs --dbms_ip 192.168.0.1 --dbms_port 7432

Step 2 - J-Job에이전트 설치

  • [ ] 에이전트 설치전 옵션보기
sh ./jjob_agent_installer.sh --help
Arguments:
        --base_path : J-Job agent base path
        --svr_group : This J-Job agent will participate in the server group you set up.
        --agnt_group : This J-Job agent will participated in the agent group you set up.
        --startup_url : The J-Job agent connects to the J-Job server with the URL you set and gets the necessary information for starting up.

Options:
        --name : If you want to set agent name, you can set the name. If not, the agent name will be system hostname.
        --java_path : If you want to use your JVM, you can set the path. If not, the default JVM path will be set.
  • [ ] 필수옵션
  • --base_path : J-Job 가 설치될 기본 경로

  • --svr_group : J-Job 에이전트가 접속하여 작업을 할당 받을 서버그룹 ID 입력

  • --agnt_group : J-Job 에이전트가 접속하여 작업을 할당 받을 에이전트그룹 ID 입력

  • --startup_url : J-Job 에이전트가 실행시 초기에 필요한 기초 정보를 받아오기 위한 URL로 보통 J-Job 서버의 접속 URL을 입력하면 된다.

  • [ ] 선택옵션
  • --name : J-Job 에이전트를 식별하기 위한 옵션으로 설정하지 않으면 해당 서버의 hostname이 설정된다.

  • --java_path : 기 사용중인 Java 1.7 또는 Java 1.8 이상이 있다면 해당 JAVA HOME 경로를 기술한다.

  • [ ] 기본 설치 명령
sh ./jjob_agent_installer.sh --base_path /app/jjobs --svr_group 1 --agnt_group 0 --startup_url http://192.168.0.1:7065/jjob-server

unix 장비에 J-Job 에이전트 설치하기

  • Arguments는 linux와 동일한 방식으로 입력하고 추가로 --java_path옵션을 추가로 입력한다. 이때 값은 unix 벤더에서 제공하는 java가 설치된 JAVA HOME 경로를 입력한다.
sh ./jjob_agent_installer.sh --base_path /app/jjobs --svr_group 1 --agnt_group 0 --startup_url http://192.168.0.1:7065/jjob-server --java_path /usr/local/java1.7

서버추가 설치

J-Job 매니저의 관리자 -> 시스템설정 -> 서버설정 화면에서 서버를 추가 등록한다.

(운영 가이드 서버 추가 항목 참조)

Windows인 경우

  • 설치와 동일하게 installer 실행파일을 실행 후 Only Server 선택한다.

  • Java 설정 후 DBMS 설정은 기 설치된 DBMS의 IP와 Port를 기술하고 DBMS 설치를 생략한다.

  • J-Job 매니저의 관리자->시스템설정->서버설정에 신규로 추가된 정보를 확인하여 설치시 Port, 서버그룹ID, 서버ID를 입력한다.

  • 이후 절차는 동일

linux인 경우

  • 신규 설치와 절차는 동일하나 추가적인 옵션을 입력한다.
    • --skip_inst_dbms
    • --svr_group : J-Job 매니저의 관리자->시스템설정->서버설정에 신규로 추가된 정보를 확인하여 서버그룹ID를 입력한다.
    • --svr_id : J-Job 매니저의 관리자->시스템설정->서버설정에 신규로 추가된 정보를 확인하여 서버ID를 입력한다.
    • --web_port : default port(7065)에서 변경되었을 경우 사용한다.
  • 추가설치 예제
sh ./jjob_lite_installer.sh --base_path /app/jjobs --dbms_ip 192.168.0.1 --dbms_port 7432 --skip_inst_dbms --svr_group 1 --svr_id 2 --web_port 7075

설치 확인

디렉토리 구성

  • J-Job 서버
J-Job |- server(J-Job Server)  |- bin 
                               |- conf
                               |- webapps |- jjob-manager.war          
                                          |- jjob-server.war
                               |- lib
                               |- work
                               |- temp
                               |- logs
      |- dbms(J-Job Meta DBMS) |- engn |- bin
                                       |- sh
                                       |- conf
                                       |- lib
                                       |- share
                                       |- shl
                               |- data
                               |- log
                               |- backup
      |- jdk8u212-b03(J-Job 전용 Java)
      |- start_db.sh (start_db.bat)
      |- stop_db.sh (stop_db.bat)
      |- start_server.sh (start_server.bat)
      |- stop_server.sh (stop_server.bat)
  • J-Job 에이전트
J-Job |- agent(J-Job Agent)  |- app |- classes
                                    |- lib
                                    |- META-INF |- io
                                                |- jsl
                                                |- services
                                    |- repo
                             |- shl
                             |- ctrl
                             |- fd
                             |- jjoblib
                             |- sitelib
                             |- logs
                             |- patch
                             |- temp
                             |- logs
      |- jdk8u212-b03(J-Job 전용 Java)
      |- start_agent.sh (start_agent.bat)
      |- stop_agent.sh (stop_agent.bat)

포트 정보

  • J-Job 서버
포트번호내용방향비고
7065Web 포트IN-BOUND설치시 포트번호를 변경할 수 있음
19000 ~ 19004에이전트와 통신을 위한 포트로 작업요청, 로그전송,에이전트제어 용도IN-BOUND설치 후 매니저를 통해 포트번호를 변경할 수 있음
7432J-Jobs Meta DBMS 포트서버와 같이 설치된 경우 IN-BOUND 그렇지 않은 경우 OUT-BOUND설치시 포트번호를 변경할 수 있음

J-Job 서버 설치시 포트번호는 반드시 설치되는 서버에서 다른 프로그램이 사용중인 다른 포트와 충돌을 피해서 설정하여야 한다.

  • J-Job 에이전트
포트번호내용방향비고
7065Web 포트OUT-BOUND설치시 포트번호를 변경할 수 있음
19000 ~ 19004에이전트와 통신을 위한 포트로 작업요청, 로그전송,에이전트제어 용도OUT-BOUND설치 후 매니저를 통해 포트번호를 변경할 수 있음
7432J-Jobs Meta DBMS 포트OUT-BOUND설치시 포트번호를 변경할 수 있음

J-Job 서버와 J-Job 에이전트 사이에 방화벽이 있는 경우 위에 기술된 접속방향을 확인하고 방화벽 정책을 조정한다.

또한 J-Job 서버의 web포트와 같은 경우 에이전트 구간 뿐만아니라 브라우저를 통한 사용자 접속을 고려하여 방화벽 정책을 설정하여햐 한다.

라이선스 발급

J-Job 서버가 설치될 서버의 host명을 확인하여 확인한 host명과 관리할 작업의 수를 50개 단위로 선청서를 작성하여 j-jobs@lgcns.com 으로 신청한다. (향후 발급센터로 이전 예정)

J-Jobs Lite License 신청서

1. 신청자 e-mail : hongildong@lgcns.com

2. 신청자 성명 : 홍길동

3. J-Jobs 서버가 설치될 서버의 호스트명 : batchap01, batchap02  (최대 2개) 

4. J-Jobs 서버가 설치될 Platform 정보 : linux (CentOS 6) 64 bit
   
5. 최대 작업 (배치프로그램) 수 : 150개

예를 들어 관리할 작업의 수가 120개이면 150개로 요청하면 된다.

J-Jobs Lite에서는 License당 최대 등록 가능 작업수는 500개, J-Job 서버는 2개이며 J-Job 에이전트는 작업 50개당 2개씩 최대 20개까지만 등록할 수 있다.

J-Jobs 시작/중지

시작

J-Jobs가 정상적으로 동작하기 위해서는 다음과 같은 순서로 시작한다.

J-Jobs 메타 DBMS 시작 -> J-Job 서버 -> J-Job 에이전트 순으로 시작하며 각 단계가 정상적으로 시작된 후 다음 단계를 진행한다.

J-Jobs 메타 DBMS 시작

  • 설치된 위치에서 start_db.sh 또는 start_db.bat을 실행한다.

J-Job 서버 시작

  • 설치된 위치에서 start_server.sh 또는 start_server.bat을 실행한다.
  • 초기 설치 후 J-Job 서버를 시작하면 콘솔로그에 오류가 발생하는 것을 확인할 수 있다. 이유는 메타 테이블이 아직 생성전이고 초기 데이터도 설정되지 않았기 때문이다.
  • 따라서 아래 기술된 메타 테이블 설치초기화 마법사 절차를 참조하여 추가 설치를 진행한다.
  • 메타 테이블 설치초기화 마법사 절차가 완료되면 반드시 J-Job 서버를 재기동한다.
  • Linux의 경우 start_server.sh를 실행하면 tail 명령어를 이용해 곧바로 서버 로그가 출력되므로 프롬프트로 빠져나오기 위해서는 Ctrl + C를 이용한다.

J-Job 에이전트 시작

  • 설치된 위치에서 start_agent.sh 또는 start_agent.bat을 실행한다.
  • 서버가 정상적으로 구동되지 않거나 메타 테이블 설치초기화 마법사 실행 전이면 J-Job 에이전트가 시작하지 못하고 바로 종료된다.
  • 반드시 서버의 상태가 정상적으로 시작되어 있는지 확인하고 시작한다.

중지

J-Jobs 전체 중지시 시작의 역순으로 처리한다.

J-Job 에이전트 -> J-Job 서버 -> J-Jobs 메타 DBMS 순으로 시작하며 각 단계별로 정상적으로 종료된 후 다음을 진행한다.

J-Job 메타 DBMS 중지

  • 설치된 위치에서 stop_db.sh 또는 stop_db.bat을 실행한다.

J-Job 서버 중지

  • 설치된 위치에서 stop_server.sh 또는 stop_server.bat을 실행한다.

J-Job 에이전트 종료

  • 설치된 위치에서 stop_agent.sh 또는 stop_agent.bat을 실행한다.

상태 확인

각각의 상태는 다음과 같이 확인한다.

J-Job 메타 DBMS 상태 확인

  • 정상적으로 설치되고 구동되었다면 Windows 같은 경우 다음 그림과 같은 창과 메시지를 확인 할 수 있고

    linux인 경우는 실행 후 다음과 같은 메시지를 확인 할 수 있다.

  • 또한 DBMS가 설치된 위치(위에 기술한 디렉토리 구조)에서 engn/shl 아래에서 checkstatus.sh 또는 checkstatus.bat 명령어를 수행하여 서버 실행 상태를 확인 할 수 있다. 정상적으로 구동된 경우 기동 메시지와 시작된 DBMS 프로세스의 PID를 반환한다.

J-Job 서버 콘솔 상태

  • 정상적으로 설치하고 모든 초기화가 완료되었다면 기동 시 다음과 같은 콘솔 메시지를 확인할 수 있다.

    Linux의 경우 start_server.sh를 실행하면 tail 명령어를 이용해 곧바로 서버 로그가 출력되므로 프롬프트로 빠져나오기 위해서는 Ctrl + C를 이용한다.

...
[S][2019-05-09 02:37:45,911][INFO ] FrameworkServlet 'servlet': initialization completed in 1890 ms
09-May-2019 02:37:45.916 정보 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive /engn001/liteTest/server/webapps/jjob-server.war has finished in 9,658 ms
09-May-2019 02:37:45.921 정보 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-7065"]
09-May-2019 02:37:45.932 정보 [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-6994"]
09-May-2019 02:37:45.937 정보 [main] org.apache.catalina.startup.Catalina.start Server startup in 20644 ms
[S][2019-05-09 02:37:46,105][INFO ] @@@@@ RequestWorkerThread Entry = 1 1 1
[S][2019-05-09 02:37:46,115][INFO ] [FetchTimeDetector][1 1 1] now : 1557337066219
[S][2019-05-09 02:37:46,155][INFO ] >>> Since Agent is disconnected or agent is busy, Server is holding for a moment.
[S][2019-05-09 02:37:46,784][INFO ] [Configuration reloaded]-------------------------------------------------------
[S][2019-05-09 02:37:46,784][INFO ]  - jobExecMap.size() : 2
[S][2019-05-09 02:37:46,787][INFO ] [Configuration reloaded]-------------------------------------------------------
[S][2019-05-09 02:37:46,787][INFO ]  - timezoneMap.size() : 18
[S][2019-05-09 02:37:46,788][INFO ] [Configuration reloaded]-------------------------------------------------------
[S][2019-05-09 02:37:46,788][INFO ]  - calendarMap.size() : 0
[S][2019-05-09 02:37:46,792][INFO ] [Configuration reloaded]-------------------------------------------------------
[S][2019-05-09 02:37:46,792][INFO ]  - scheduleMap.size() : 0
[S][2019-05-09 02:37:46,794][INFO ] [Configuration reloaded]-------------------------------------------------------
[S][2019-05-09 02:37:46,794][INFO ]  - globalSetting : ServerGroupConfigItem [priority=0, fetchCount=100, pollingTime=1]
[S][2019-05-09 02:37:46,796][INFO ] [Configuration reloaded]-------------------------------------------------------
[S][2019-05-09 02:37:46,796][INFO ]  - fetchConfigList.size() : 1
[S][2019-05-09 02:37:46,796][INFO ]  - localFetchConfig : 100 / 1
[S][2019-05-09 02:37:46,993][INFO ] ## NotificationMonitoringManager Entry
[S][2019-05-09 02:37:53,901][INFO ] Start Monitor Run::
[S][2019-05-09 02:38:13,987][INFO ] ## RequestWorkerMonitoringManager Entry

J-Job 서버 및 에이전트 상태

  • J-Job 매니저에 접속하여 상태를 확인한다.

  • J-Job 매니저 접속방법은 설치시 입력한 IP, Port를 이용하여 웹 화면에 접속한다.

    http://192.168.0.1:7065/jjob-manager
    http://[서버IP]:[서버Port]/jjob-manager
    
  • 모든 설치가 완료된 이후 J-Jobs Manager의 모니터링 메뉴, Dashboard 또는 각 서버에 접속하여 명령줄을 이용하여 통하여 상태를 확인한다. (자세한 내용은 운영자 가이드를 확인한다.)

메타 테이블 설치

설치시 입력한 IP, Port를 이용하여 웹 화면에 접속한다.

http://192.168.0.1:7065/jjob-manager
http://[서버IP]:[서버Port]/jjob-manager

최초 설치후 시스템 관리자(root)로 로그인 하면 J-Jobs 메타 테이블이 생성되어 있지 않기에 아래 팝업과 함께 테이블 설치 화면으로 이동한다.

  • 메타 테이블 설치 : J-Jobs 에서 사용할 메타 테이블을 전체 생성(create) 한다.

  • 로그인 화면으로 이동 : 테이블 생성 후 로그인 화면으로 이동하여 root로 로그인 후 설치/제거 메뉴에서 초기화 마법사를 이용하여 간편하게 설치작업을 수행한다.

초기화 마법사

최초 설치를 하고 필요한 라이선스 등록, 서버등록, Datasource 등록 등을 한 번에 할 수 있는 마법사 툴이다.

  • 라이선스 : 발급된 정식 또는 개발 라이선스를 업로드 하고 [다음]을 클릭한다.

  • 기본 설정 : 필요한 항목에 대한 초기화 작업을 진행한다. 기본값을 유지한채 [다음]을 클릭한다.

  • 관리자 계정 : 운영 업무 관리자(Administrator) 등록을 위해 ID, 이름, 비밀번호를 등록 후 [다음]을 클릭한다.

  • JDBC URL: J-Jobs 설치시 메타 DBMS 설정했던 IP와 Port가 정상적으로 설정되었는지 확인한다.
  • 사용자 이름 : J-Jobs 설치시 메타 DBMS 접속 계정으로 입력했던 값을 입력한다. 설치시 별도로 지정하지 않았다면 jjobs로 기본값이 설정된다.
  • 비밀번호 : J-Jobs 설치시 메타 DBMS 접속 비밀번호로 입력했던 값을 입력한다. 설치시 별도로 지정하지 않았다면 jjobs1234로 기본값을 입력한다.
  • 모든 설정값을 확인하고 이상이 없으면 [다음]을 클릭한다.

  • 서버 그룹 ID : 기본 서버 그룹은 J-Jobs 초기 설치시 설정했던 서버 그룹 ID와 동일한 값이 입력되어 있는 확인한다.
  • 서버 그룹 이름 : 기본 서버 그룹 이름을 식별할 수 있는 이름을 입력한다.
  • 매핑할 서버 그룹 ID: 기본 서버 그룹의 서버 그룹 ID 값이 입력되었는지 확인한다.
  • 서버 ID : 서버를 식별하기 위한 값으로 J-Job 서버 설치시 지정했던 서버 ID값과 동일한 값이 입력 되었는지 확인한다.
  • 서버 이름 : 서버를 쉽게 식별할 수 있게 이름을 입력한다.
  • 서버 호스트명 : 서버의 호스트명과 일치하는지 확인한다.
  • 서버IP : J-Job 서버 설치시 입력했던 IP와 일치하는지 확인한다.
  • 서버포트 : 웹서비스 포트로 J-Job 서버 설치시 입력했던 Port와 일치하는지 확인한다.
  • 모든 설정값을 확인하고 이상이 없으면 [다음]을 클릭한다.

  • 샘플 Job 추가 : 제공되는 샘플 Job을 생성하는 옵션이며, 확인 후 [초기화 실행하기] 를 클릭한다.

비밀번호를 입력하고 성공 팝업이 보인다면 기본 설치가 완료 되었다.

최초 설치 경우 초기화 마법사로 라이선스와 Database 및 서버 정보가 등록 되었다면 반드시 J-Job 서버를 재시작하여 모든 서비스가 정상작동함을 확인한다.

재시작 후 서버 상태는 본 문서의 [J-Jobs 설치 > 상태확인 > J-Jobs 서버 콘솔 상태]를 참고한다.

기본 예제 실행

서버를 재시작하였다면 설치는 정상적으로 완료되었다. 아래 순서로 기본 예제를 실행하여 간단한 Job 등록과 실행을 해본다.

  • ADMINISTRATOR 권한 사용자(admin)로 로그인 하여 USER 권한의 사용자를 추가 등록한다. 운영자 가이드 > 사용자 참고
  • USER 권한 사용자로 로그인 하여 Job을 등록하고 실행한다. 사용자 가이드 > 빠르게 시작하기 참고

삭제

삭제도 설치와 동일하게 Windows 와 linux를 구분하여 기술한다.

Windows 버전 삭제

설치된 디렉토리로 이동한다.

unins000.exe를 실행하면 삭제된다.

단, 삭제전 종료 절차에 따라 종료해야 정상적으로 삭제가 된다.

linux 버전 삭제

linux는 서버와 에이전트를 각각 삭제한다.

설치시 사용했던 installer를 이용하여 삭제하는 경우

  • J-Job 서버는
./jjob_lite_installer.sh --clean /app/jjobs

--clean 옵션에 설치된 base경로를 입력하면 된다.

  • J-Job 에이전트도 동일하게 --clean 옵션에 설치된 base경로를 입력하면 된다.
./jjob_agent_installer.sh --clean /app/jjobs
  • installer가 없는 경우에는 종료 절차에 따라 종료하고 설치된 base경로를 rm명령어로 삭제하면 된다.

Trouble Shooting

설치 후 start_db.bat 실행하였는데 창이 바로 사라지는 경우

서버 시작됨이라는 메시지가 나타나지 않고 창이 바로 사라지거나 Windows 환경에서 설치 중에 "MSVCR120.dll이 없어 프로그램을 시작할 수 없습니다." 와 같은 에러 메세지가 나타나는 경우에는 마이크로소프트에서 제공하는 Visual C++ 패키지 파일이 없어 DB가 제대로 설치되지 않았을 가능성이 높다. 이때에는 다음과 같은 절차로 DB 초기화를 진행하여 문제를 해결한다.

1. vcredist_x64.exe 설치

먼저 microsoft 홈페이지에서 Visual C++ 2013와 Visual C++ 재배포 가능 패키지 를 다운 받아서 설치한다. 설치는 간단하게 끝난다.

[Visual C++ 2013와 Visual C++ 재배포 가능 패키지]
http://download.microsoft.com/download/F/8/D/F8D970BD-4218-49B9-B515-E6F1669D228B/vcredist_x64.exe

Windows 버전에 따라 [Visual C++ 2013와 Visual C++ 재배포 가능 패키지]가 설치되지 않을 수가 있는데, 그 때에는 다른 버전 을 다운로드해서 설치해본다.

[버전별 Visual C++ 재배포 가능 패키지]
https://support.microsoft.com/ko-kr/help/2977003/the-latest-supported-visual-c-downloads

2. Powershell 버전 및 설정 확인

Powershell 버전이 2.0 이상이어야 설치가 진행되며 3.0 이상을 사용할 것을 권장한다. 버전이 안맞을 경우 설치 진행 중 아래와 같은 Method 관련 오류가 발생할 수 있다.

Powershell의 Executionpolicy 설정이 RemoteSigned 인지 확인하여 아닐 경우 변경이 필요하다.

Executionpolicy 설정이 RemoteSigned 이외의 값일 경우 아래와 같은 오류가 발생하여 설치가 불가능하다.

3. 기 설치된 DB Data 제거

[J-Jobs 설치 위치]\dbms\data 하위에 있는 모든 파일을 삭제한다.

4. DB 초기화 수행

[J-Jobs 설치 위치]\dbms\engn\shl\init_db.cmd 파일을 실행하여 DB 초기화를 실행한다.

5. DB 실행

[J-Jobs 설치 위치]\start_db.bat 파일을 실행하여 DB 가 정상 실행됨을 확인한다.

linux 및 unix 에서 설치중 unzip 유틸리가 없어서 설치가 안되는 경우

yum 또는 apt-get 명령어로 unzip을 먼저 설치 후 진행한다.

unix인 경우 각 플랫폼에 맞는 설치 버전으로 unzip을 설치한다.

unix에서 설치중 tar유틸리티에서 z 옵션이 없어서 압축파일이 풀리지 않을 경우

먼저 gunzip 으로 jjobs_lite_linux_installer_x64_v2.3*.tar.gz 압축을 풀고 tar xvf 옵션으로 tar를 해제한다.

J-Jobs 실행시 정상적으로 process가 구동하지 않고 멈추는 현상이 발생할 경우

디스크 공간 및 메모리 사이즈를 확인하여 하드웨어 권장사항에 맞는 자원이 확보되었는지 확인한다.

linux에서 J-Jobs 서버 설치중 다음과 같은 오류 메시지를 발생할 경우

3. Initialize DB.
initdb: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will
own the server process.
fail to install jjobs!!

J-Jobs 메타 DBMS인 PostgreSQL은 보안상 이유로 root로 설치하지 못하게 되어 있다. 따라서 일반계정을 이용하여 설치를 진행한다.