AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

Apache DolphinScheduler 3.2.0 단일 노드 배포 및 검증 가이드 요약

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

DevOps

대상자

- 대상: 데이터 운영/DevOps 엔지니어, 클라우드 인프라 관리자

- 난이도: 중급 (Java, MySQL, Docker 기본 지식 필요)

핵심 요약

  • 단일 노드 배포: MySQL 외부 저장소 사용, dolphinscheduler_env.sh 설정 필수 (코드: export DATABASE=mysql)
  • 주요 문제점:

- 시스템 시간/타임존 오류 (해결: UI에서 Asia/Shanghai 설정)

- standalone-server 비정상 종료 시 작업 잠금 문제 (해결: t_ds_task_instance 테이블 정리)

- Hive JDBC 버전 불일치 (해결: 호환되는 JDBC 드라이버 교체)

  • 보안 취약점: Spring Boot Actuator 무단 접근 취약점 (해결: spring-boot-starter-security 추가 및 Actuator 비활성화)

섹션별 세부 요약

1. 환경 설정 및 배포 전략

  • Java 1.8.0_181, CentOS 7.6, MySQL 5.7.22 사용
  • MySQL 사용자 생성 및 권한 부여 (코드: GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%')
  • dolphinscheduler_env.sh 파일에서 데이터베이스 연결 정보 설정 (코드: SPRING_DATASOURCE_URL 정의)

2. 드라이버 설치 및 스키마 업그레이드

  • MySQL 드라이버 (mysql-connector-java-8.0.16.jar)를 서버/워커/마스터 서버 폴더에 배포
  • 스키마 업그레이드 명령 실행 (코드: sh upgrade-schema.sh)

3. 실행 및 상태 확인

  • 단일 노드 실행: sh dolphinscheduler-daemon.sh start standalone-server
  • 상태 확인: sh dolphinscheduler-daemon.sh status standalone-server
  • 기본 URL: http://xxx.xx.xx.xxx:12345/dolphinscheduler (ID: admin, PW: dolphinscheduler123)

4. 일반적인 문제 해결

  • 시간 오류: UI에서 타임존 설정 변경
  • 작업 잠금 문제: t_ds_task_instance 테이블 데이터 삭제 또는 standalone-server 재시작
  • 대용량 로그: standalone-server/logs 디렉터리에 정기 정리 스크립트 설정

5. Hive UDF 오류 해결

  • CREATE OR REPLACE TEMPORARY FUNCTION 문법 호환 문제
  • DolphinScheduler SQL 태스크 JAR 파일 교체 및 코드 수정

6. 기능 및 보안 테스트 결과

  • 기능 테스트:

- 워크플로우 정의, 작업 인스턴스, UDF 관리 등 12개 기능 모두 통과 (코드: ✅ Passed)

  • 성능 테스트:

- 동시 사용자 10명 처리, CPU/Memory 사용률 5% 미만 (코드: idle <5%)

  • 보안 취약점:

- Spring Boot Actuator 무단 접근 취약점 (해결: spring-boot-starter-security 설정)

결론

  • 권장사항: 3.2.0은 테스트 완료되었으나, 프로덕션 환경에서는 3.1.9 버전 사용 권장
  • 보안 강화: Actuator 및 Swagger 비활성화 필수 (코드: management.security.enabled=true)
  • 실무 적용 팁: 자동화 스크립트로 로그 정리 및 JDBC 드라이버 호환성 검증 필수