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 드라이버 호환성 검증 필수